如何根据地址在Debug View Hierarchy中查找视图?

时间:2017-10-30 14:48:03

标签: ios xcode

我们有时会得到它们。

** [LayoutConstraints] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x608000287670 H:|-(16)-[UIView:0x7fe38456eeb0](LTR)   (active, names: '|':MyApp.MyCell:0x7fe3848d9400'MyCellIdentifier' )>",
    "<NSLayoutConstraint:0x6080002876c0 UIView:0x7fe38456eeb0.right == MyApp.MyCell:0x7fe3848d9400'MyCellIdentifier'.right   (active)>",
    "<NSLayoutConstraint:0x608000288520 'UIView-Encapsulated-Layout-Width' MyApp.MyCell:0x7fe3848d9400'MyCellIdentifier'.width == 0   (active)>"
)

您不必阅读它的含义,它与此问题没有任何关系。 在我对我的应用程序进行了一些重大更改后,这开始显示在我的日志中。我用google搜索了,我明白这个特殊问题是一个奇怪的问题,我必须找到一个约束,并将其优先级设置为 999 ,以便系统可以将单元格的宽度设置为0如果它想。这可以。

我的问题不直接针对这一特定问题。每当我在日志中得到这样的东西时,类名后面总会有一个地址。与上例中显示的一样: MyApp.MyCell:0x7fe3848d9400

我可以使用此地址和搜索视图层次结构来查找视图吗? 我知道,如果我点击调试视图层次结构,我会看到我的应用程序的甜蜜“停滞”视图。问题是我的应用程序变得越来越大,我有很多观点。特别是在UITableView中。目前有很多观点,每个观点都有自己的地址。

如果我在调试层次结构中选择任何视图,我可以很容易地看到它的地址,如下图中的右上角所示。

由于我已经拥有了我想要查找的视图的地址,有没有办法找到它?我现在这样做的方法是在我的调试屏幕上通过所有相关视图,将其地址和CMD+F CMD+V复制到我的输出日志中看看我的日志输出中是否提到了该特定视图。

Grid view

必须有更好的方法..

1 个答案:

答案 0 :(得分:5)

如果您在导航器窗格底部的搜索字段中键入(或复制/粘贴)十六进制地址,它应该过滤/找到该对象:

enter image description here