这让我有几次困扰。
我正在调试自定义子视图。
我想知道自定义子视图的子视图类型。
我输入:
(lldb) po self.subviews
error: property 'subviews' not found on object of type 'BGBaseOfAllUIView *'
error: 1 errors parsing expression
(lldb)
鉴于self是UIView作为祖先并支持.subviews属性,这是愚蠢的。
我输入
(lldb) po self
(BGDetailBusinessViewController *) $2 = 0x088d01f0 <BGDetailBusinessViewController: 0x88d01f0>
这不是很多信息。它没有解释框架是什么或在哪里发生。
所谓的变量视图也无济于事。
说我想知道一些简单的信息。什么是self.subviews?什么是self.frame?
为什么这么简单的事情是如此困难?
如何这样做的唯一方法是从我的朋友那里借一个代码并添加
#define CLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define PO(x) CLog(@#x ": %@", x)
但那不是实时的。我必须先修改程序并插入东西才能获得那些简单的信息。
我错过了什么?
答案 0 :(得分:1)
请避免在你的问题中呻吟 - 人们必须阅读很多“它不能按照我的意愿行事”才能得到任何真正的问题 - 这就是我们在这里不听你的意思发泄你的挫折。
首先要注意的是:BGDetailBusinessViewController
是一个viewController而不是一个视图 - 所以没有它没有子视图但它管理一个视图层次结构。根视图将是名为view
的ivar。
因此,要获取子视图,您需要执行类似
的操作po [self.view subviews]