gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 16:18:28 25 4
gpt4 key购买 nike

我正在尝试使用 Cocoa 创建一个小型 Finder 克隆。我将源列表 TableView (充当侧边栏)和标准 TableView 放置在由 NSSplitViewController 控制的 NSSplitView 内。不幸的是,当我运行它时,标准 TableView 的白色背景被绘制在窗口的右下角,导致非圆角: Bottom right corner drawn over

我可以通过不使用 NSSplitViewController 来避免这个问题,同时使用标准 nib 文件或 Storyboard来获得所需的结果:

Correctly drawn, albeit without NSSplitViewController

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

Here is the Xcode workspace with the projects获取屏幕截图。

最佳答案

我见过这样的问题,它似乎是真正的错误。但有一个解决方法。您需要确保 NSSplitViewController 在 CA 层支持的 View 中呈现自身。因此,为了在您的项目中执行此操作,我添加了带有容器 View 的中间人 View Controller 。然后我将您的分割 View 放置在该容器 View 中。最后,容器 View 的父 View 被设置为图层支持。这是图片:

enter image description here

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

enter image description here

另外一点:确保在真正需要之前不要使用 1000 优先级的约束。我通常使用 750(我也修复了这个问题)。否则你会收到很多关于不满意的事情的警告。

这是您修复的项目: https://github.com/emankovski/splitviewroundcorrners

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com