如何检查iOS中的视图层次结构?

2020/12/16 20:41 · ios ·  · 0评论

是否有用于检查iOS应用程序视图层次结构的GUI工具?我在考虑Webkit的Web检查器或类似工具。我正在寻找调试布局问题的方法,例如视图或位置或大小错误,或者子项未正确包含在其父项中。当前,我必须添加断言来手动测试这些各种条件,或者在不同的视图上设置不同的背景颜色,并且您可以想象,这是一种非常乏味的解决方法。

我查看了Instruments的UI recorder,但是它仅记录和播放UI操作`,并且在任何情况下仅适用于Mac应用。

有更好的解决方案吗?

Xcode 6现在内置了3D视图层次结构检查功能,例如Reveal App和Spark Inspector。

在此处输入图片说明

在您的应用程序运行时,单击“调试视图层次结构”按钮以暂停执行并在当前时刻检查视图。

在此处输入图片说明

有关更多信息,请参阅Apple文档

我不知道是否有GUI视图检查工具,但是我对UIView上的调试方法有些幸运: -recursiveDescription

如果您在调试器中暂停程序并将其输入到GDB中(编辑:在LLDB中也有效)

po [[UIWindow keyWindow] recursiveDescription]

您将获得整个视图层次结构的打印输出。您也可以在特定视图上调用它以获取该视图的视图层次结构的打印输出。

遍历您从中获得的信息可能有点乏味,但事实证明对我有用。

值得一提的是这篇博客该博客讨论了这种方法,并与此有用的链接有关,但很难找到Apple技术说明

显示应用截图

奇怪的是,现在还有另一个选项http://revealapp.com/,截至本文发布时,它处于开放(免费)测试版中。如您所见,它是另一个视觉检查器。

编辑2014-04-05:Reveal已超出Beta,并且不再免费。但是,有30天的试用期。

这个问题很旧,但是让我在这里将有关我开发的新工具的信息放到这里:https :
//github.com/glock45/iOS-Hierarchy-Viewer
在此处输入图片说明

在此处输入图片说明

为了使该线程保持最新状态,我最近一直在使用Spark Inspector它不是免费的,但是非常不错。

FLEX调试器中的应用程序视图检查,使您可以修改正在运行的应用程序的UI提供了一个。它还记录网络请求。

https://github.com/Flipboard/FLEX

在此处输入图片说明

免费:只需在检查器中输入:

po [[UIWindow keyWindow] recursiveDescription]

商业版:http : //revealapp.com/我测试了揭示版的beta版本,虽然有错误,但是很好。另一个商业工具:http : //sparkinspector.com/,它可以无缝运行。

斯威夫特4。

iOS

extension UIView {

   // Prints results of internal Apple API method `recursiveDescription` to console.
   public func dump() {
      Swift.print(perform(Selector(("recursiveDescription"))))
   }
}

macOS

extension NSView {

   // Prints results of internal Apple API method `_subtreeDescription` to console.
   public func dump() {
      Swift.print(perform(Selector(("_subtreeDescription"))))
   }
}

用法(在调试器中): po myView.dump()

这会将所有内容转储到调试窗口中。(很难阅读):(在iOS 10上运行,Xcode 8.3.3

po UIApplication.shared.keyWindow?.recursiveDescription()

使用Xcode 8和Swift 2.3 ,已批准的答案不再对我有用这对我有用:

po UIApplication.sharedApplication().keyWindow?.recursiveDescription()

对于swift / Xcode 10,将其输入调试控制台:

po yourView.value(forKey: "recursiveDescription")!

它将为任何给定的打印出递归层次结构UIView

(来源:如何使用recursiveDescription调试视图层次结构

本文地址:http://ios.askforanswer.com/ruhejianchaioszhongdeshitucengcijiegou-2.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!