当我打开一个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,它对用户不可见,用于服务器处理。
OSX 10.7+
有什么想法吗?谢谢杰夫
发布于 2016-08-02 13:59:49
如果您有此错误,我通过在IB中选择“视图效果”检查器将其删除,并在“核心动画层”视图(整个弹出视图)旁边放置一个复选框。现在我可以有方形按钮的模板图像和没有模糊的警告。
https://stackoverflow.com/questions/38578490
复制相似问题