我的应用程序有一个日志窗口,显示NSTableView中的行:
当我向窗口添加自动布局约束时,无论我做什么,我都会获得剪辑视图的错位视图警告:
我尝试更新其框架,更新其约束,并重置为建议的约束,但没有任何东西可以消除警告。该窗口在运行时正确显示和调整大小,甚至看起来无法向剪辑视图本身添加约束。
如果您想在Xcode中查看它,我已将代码推送到github:https://github.com/MagerValp/AutoDMG/tree/e57b0140e3fc3f7f9e0d4550341ed249a6cf5378。该代码需要10.10 SDK进行编译,但xib应该可以在Xcode 5及更高版本中查看。
答案 0 :(得分:3)
我最近遇到了同样的问题,警告Clip视图预期值比实际值大17px。
我相信这是Xcode的一个错误。我确实找到了解决方法(除了将我的操作系统降级到10.9)。
解决方案是在IB中编辑tableView的属性,禁用" Headers"。不要显示表格标题,警告就会神奇地消失。我们可以猜测默认情况下表头是17px:)
这只是一种解决方法,而不是理想的解决方案。这不是我们的错。最好的解决方案是等待Apple修复此Xcode错误。
答案 1 :(得分:2)
Scrollviews的子视图层次结构只与自动布局兼容。
解决这个问题的一种方法是约束剪辑视图,这样就不会打扰你。 然后在检查器中,标记要在运行时删除的约束。
答案 2 :(得分:1)
ScrollCiew
ClipCiew
的TableView
如果错误来自ClipView。 检查ScrollView大小,记住它。 然后单击ScrollView作为目标,打开大小检查器,使用带有ScrollView大小的占位符启用内部大小。
答案 3 :(得分:0)
我使用Xcode的最新版本Xcode 12.3。而且也有同样的警告。通过将TableView 内容模式从基于视图更改为基于单元格,我消除了放错视图的警告,然后该警告消失了。然后,我改回基于视图。该警告将不再出现。