Vad*_*ick 167 cocoa-touch uikit ios
是否有GUI工具检查iOS应用程序的视图层次结构?我正在考虑Webkit的Web检查器或类似的工具.我正在调试布局问题,例如具有错误位置或大小的视图,或者未正确包含其父级的子级.目前我必须添加断言,手动测试这些不同的条件,或者在不同的视图上设置不同的背景颜色,并且你可以想象,这是一个非常繁琐的方法.
我查看了仪器UI recorder,但它只记录和播放UI动作,并且无论如何,仅适用于Mac应用程序.
有更好的解决方案吗?
Sim*_*een 260
我不知道是否有GUI视图检查工具,但我对UIView的调试方法有一些运气: -recursiveDescription
如果你在调试器中暂停程序并将其输入到GDB中(编辑:也适用于LLDB)
po [[UIWindow keyWindow] recursiveDescription]
您将获得整个视图层次结构的打印输出.您还可以在特定视图上调用它以获取该视图的视图层次结构的打印输出.
浏览你从中得到的信息可能有点乏味,但事实证明它对我很有用.
感谢这个博客文章,其中谈到了这种方法并且也与此有关,但很难找到Apple技术说明.
liv*_*ech 46

奇怪的是,现在还有另一种选择,http://revealapp.com/,截至本文的帖子是开放(免费)测试版.你可以看到它是另一个视觉检查员.
编辑2014-04-05:显示已经超出测试版,不再免费.然而,有一个为期30天的试验.
免费:只需在检查员中输入:
po [[UIWindow keyWindow] recursiveDescription]
Run Code Online (Sandbox Code Playgroud)
商业:http://revealapp.com/我测试了revealapp的beta版本,但它有好处但有bug.另一个商业工具: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"))))
}
}
Run Code Online (Sandbox Code Playgroud)
macOS:
extension NSView {
// Prints results of internal Apple API method `_subtreeDescription` to console.
public func dump() {
Swift.print(perform(Selector(("_subtreeDescription"))))
}
}
Run Code Online (Sandbox Code Playgroud)
用法(在调试器中): po myView.dump()
| 归档时间: |
|
| 查看次数: |
76083 次 |
| 最近记录: |