目标c-3次或3次以上*连续*布局通过,以准备显示.错误



当我打开NSPopover时,我会收到以下错误:

WARNING: <NSPopover: 0x618000120780> needed 3 or more *consecutive* layout
passes to prepare to be shown. Verify that nothing in your view hierarchy
is aggressively dirtying layout during layout, as this will likely
cause problems elsewhere.

这才刚刚开始出现在最近的一个版本中,我找不到原因。在弹出窗口显示之前,我已经删除了所有的准备代码,所以它基本上调用:

- (IBAction)addClicked:(id)sender {
[[self addPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}

我已经删除了IB窗口中的所有约束。所以我不应该在布局过程中做任何需要重新喷漆的事情。

在网上搜索得到的信息很少,我无论如何都能找到。我的popover用于表单输入,因此有4个NSTextFields、一个NSOutlineView和一个NSImage。它还创建了一个隐藏的WebView,该WebView对用户不可见,用于服务器处理。

OSX 10.7+

有什么想法吗?谢谢Geoff

如果您遇到此错误,我会通过在IB中选择视图效果检查器来删除它,并在核心动画层的视图(整个弹出视图)旁边打上复选标记。现在,我可以拥有带有模板图像的方形按钮,并且没有模糊的警告。

相关内容

最新更新