我正在尝试使用Cocoa创建一个小的Finder克隆。我将源列表表视图(用作边栏)和标准表视图放在由NSSplitView控制的NSSplitViewController内。
不幸的是,当我运行此命令时,标准表格视图的白色背景绘制在窗口的右下角,结果是一个非圆角:
macos - NSSplitViewController导致包含的 View 在窗口角上绘制-LMLPHP

我可以通过不使用NSSplitViewController来避免此问题,无论是使用标准笔尖文件还是情节提要来获得所需的结果:

macos - NSSplitViewController导致包含的 View 在窗口角上绘制-LMLPHP

但是……我真的很想使用NSSplitViewController。有什么办法可以防止这种情况的发生?

Here is the Xcode workspace with the projects截屏。

最佳答案

我已经看到了这样的问题,这似乎是真正的错误。但是有解决方法。您需要确保NSSplitViewController在由CA层支持的视图中呈现自己。因此,为了在您的项目中做到这一点,我在容器视图中添加了中间人视图控制器。然后,将拆分视图放置在此容器视图的内部。最后,将容器视图的父视图设置为支持层。这是图片:

macos - NSSplitViewController导致包含的 View 在窗口角上绘制-LMLPHP

之后,我可以看到一切正常:

macos - NSSplitViewController导致包含的 View 在窗口角上绘制-LMLPHP

另外请注意:确保在确实需要时才使用1000优先级的约束。我通常使用750(我也固定了它)。否则,您会收到很多关于不满意的警告。

这是您的固定项目:
https://github.com/emankovski/splitviewroundcorrners

关于macos - NSSplitViewController导致包含的 View 在窗口角上绘制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36464339/

10-10 20:32