我正在尝试以下方法
(lldb) expr [_tvFeed setFrame:(CGRect)CGRectMake(0, 0, 320, 300)];
我越来越
error: call to 'CGRectMake' is ambiguous
note: candidate function
note: candidate function
error: 1 errors parsing expression
我正在使用XCode 6.1,LLDB版本lldb-320.4.152
好的,这是一种有效的方法
expr CGRect rect; rect.origin.x=0; rect.origin.y=0; rect.size.width=320; rect.size.height=300; (void)[_tvFeed setFrame:rect];
你可以使用C compound literals来创建CGRect,因为它只是一个C结构
它看起来像这样
(lldb) expr [_tvFeed setFrame:(CGRect){0, 0, 320, 300}];
这对我有用:
(lldb) e (void)[(id)0x7fe38ce039c0 setFrame:(CGRect){0,0,200,300}]
(lldb) caflush
其中0x7fe38ce039c0
是我希望由pviews
打印的视图的ID。你需要chisel为pviews
和caflush
在lldb工作。
(lldb) pviews
UIWindow: *0x7fe38ce1e330*; frame = (0 0; 414 896); gestureRecognizers = <NSArray: 0x6000006b57a0>; layer = <UIWindowLayer: 0x6000008de480>>
| <UILayoutContainerView: 0x7fe38ce2ab70; frame = (0 0; 414 896); autoresize = W+H; layer = <CALayer: 0x6000008c2300>>
| | <UITransitionView: 0x7fe38cf079d0; frame = (0 0; 414 896); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x60000086d860>>
| | | <UIViewControllerWrapperView: 0x7fe38cd22f40; frame = (0 0; 414 896); autoresize = W+H; layer = <CALayer: 0x60000089a640>>
| | | | <UILayoutContainerView: 0x7fe38f6059c0; frame = (0 0; 414 896); autoresize = W+H; gestureRecognizers = <NSArray: 0x60000068f450>; layer = <CALayer: 0x600000890180>>
| | | | | <UINavigationTransitionView: 0x7fe38f608170; frame = (0 0; 414 896); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x600000890700>>
| | | | | | <UIViewControllerWrapperView: 0x7fe38cf13280; frame = (0 0; 414 896); autoresize = W+H; layer = <CALayer: 0x6000008de9a0>>
| | | | | | | <UIView: 0x7fe38f304940; frame = (0 0; 414 896); autoresize = W+H; layer = <CALayer: 0x6000008c6800>>
| | | | | <UINavigationBar: 0x7fe38f605bc0;