xcode - NSTabView 在 Interface Builder 中带有重复的按钮?

标签 xcode macos cocoa interface-builder nstabviewcontroller

如果我将选项卡 View Controller 拖到 OS X 应用程序的 Storyboard 中,选项卡 View 按钮似乎会出现异常行为。你能帮我理解发生了什么事吗?

这是一个新项目的最小示例,我只是用新的选项卡 View Controller 替换了默认的空 View Controller :

Minimal setup in Interface Builder

突出显示的选项卡 View 默认显示为No Shadow Tab View,这意味着选项卡 View 在属性检查器中的样式为Tabless

场景列表中选项卡 View 下方还有两个选项卡 View 项。

如果我构建并运行,结果如下所示:

Result of "tabless" Tab View

选项卡控件可见,但选项卡 View 没有边框。看起来显示的选项卡按钮实际上是两个额外的选项卡 View 项,而不是选项卡 View 本身的 native 按钮。

如果我将选项卡 View 的样式更改为 Top Tabs 而不是默认的 Tabless,我会得到一个边框,但会出现重复的选项卡按钮:

Duplicate buttons

如果我将其更改为Tabless With Bezel,则边框位于选项卡按钮下方,而不是正确地位于按钮下方的中间:

Bezel in the wrong position

我无法弄清楚这一点。为什么要从两组选项卡按钮开始(默认情况下隐藏“真正的”按钮)?这两个额外的Tab View Item看起来完全多余,但又删不掉。

在使用 Interface Builder 和选项卡 View Controller 时,是否有办法让选项卡栏具有适当的边框?

最佳答案

您需要将 tabViewController 的样式设置为“未指定”并设置包含的 tabView。

enter image description here

关于xcode - NSTabView 在 Interface Builder 中带有重复的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535737/

相关文章:

objective-c - 从 Cocoa/Objective-C 添加新元素到 WebFrame 的 DOM

objective-c - 为什么 NSURL 的 NSURLDocumentIdentifierKey (几乎)总是 nil?

xcode - Xcode Playground 中的自定义字体

macos - 在 NSTabView 上加载同一 NSViewController 的不同实例

ios - 如何从 XIB 实例访问 View

objective-c - Cocoa:namesOfPromisedFilesDroppedAtDestination 仅返回一个文件

python - Conda 和 Visual Studio Code 调试

iphone - 如何将对象传递给委托(delegate)?

xcode - 在 OS X Cocoa 中将 NSButton 添加到 CALayer

ios - SwiftUI:打开带有动态内容的模式表仅在第一次尝试时失败