我正在调试一个我没有创建并且没有文档的巨大项目。 我正在使用Debug View Hierarchy来停止对需要修改的视图执行,只需找出视图控制器负责视图以及接口调用的操作。
我该怎么做?
视图层次结构仅显示泛型类,但不显示项目中的特定类。 我可以打印一个按钮的描述,但是只给出了内存地址和框架。此外,打印superview只给我另一个内存地址和框架。
提前谢谢!
答案 0 :(得分:0)
右键单击界面构建器中的按钮。这些操作应列在Send Events
下。
还可以使用addTarget:action:forControlEvents:
答案 1 :(得分:0)
如果您的按钮中包含文本,您可以在“查找导航器”中搜索按钮的文本并进行预测,如果按钮上有图像,则可以在资产中找到图像名称。这样,您可以最大限度地减少搜索。 如果您发现任何包含静态文本的Label,请搜索该文本!可能这对你有所帮助!
答案 2 :(得分:0)
我一直在尝试控制台和其他一些帖子,我找到了解决方案:
首先,右键单击打印按钮说明(适用于任何视图)
<UIButton: 0x7feefe5e20c0; frame = (17 266.5; 105 30); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x608000236520>>
第二,在控制台中使用按钮地址&#34; 0x7feefe5e20c0&#34;打印按钮的所有目标
po [0x7feefe5e20c0 allTargets]
<ViewControllerClass: 0x7feefe5de7b0>
现在&#34; ViewControllerClass&#34;已经接近我需要的了,视图控制器拥有包含我的按钮的视图
第三次打印按钮的所有控制事件
(lldb) po [0x7feefe5e20c0 allControlEvents]
0x0000000000000040
最后用于控制事件目标的打印按钮操作
(lldb) po [0x7feefe5e20c0 actionsForTarget:0x7feefe5de7b0 forControlEvent:0x0000000000000040]
<__NSArrayM 0x7fef00078040>(
actionCalledByBytton:
)
这给了我&#34; actionCalledByBytton&#34; &#34; ViewControllerClass&#34;
上的按钮调用的操作Tadaa!希望这有助于某人。