我正在调试我的代码并尝试使用以下方法计算视图的大小:
p view.frame.size.height
但我收到此错误:
错误:在“UIView *”类型的对象上找不到属性“框架”错误:1 解析表达式错误
你们中的任何人都知道为什么或如何调试视图的大小吗?
如果你每次都讨厌类型转换,你可以试试这个:
(lldb) expr @import UIKit
(lldb) po self.view.bounds
由于 Xcode 7.2 现在可用,我认为我们应该更新答案。
我在这里找到了答案,为什么 LLDB 不能打印 view.bounds?
尝试这个
p (CGRect)[view frame]
获取视图框架的替代方法:
po view
尝试这个,
po view.layer.frame.size.height
它应该在第一个答案中有外括号,如下所示:
p ((CGRect)[cell frame])
输出:
(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44)
添加一个 pch 文件,将这些代码行添加到文件中:
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif
#endif /* PrefixHeader_pch */
接下来,将 pch 文件链接到您的项目:
再次运行应用程序,您应该可以在 lldb 控制台中使用点符号:
(lldb) po self.view.bounds
有关如何添加 pch 文件,请参阅此处的答案PCH File in Xcode 6
看来我们不能在控制台中使用点符号,尝试使用 get 方法。
我有同样的问题,我解决了。您的类可能继承自“UIViewController”。它必须从“UIView”继承,以便在其中创建一个框架对象。