【问题标题】:Why does my NSWindow have a toolbar? How do I make it go away?为什么我的 NSWindow 有一个工具栏?我怎样才能让它消失?
【发布时间】:2019-06-11 21:07:56
【问题描述】:

我正在使用 Xcode 10.2.1 开发一个 Swift MacOS 应用程序。当我创建 NSWindow 时,它有一个工具栏,包括一个段落图标、颜色选择器和一些非功能性菜单。我没有请求这个工具栏,不想要它,并且不记得以前的应用程序(使用旧版本的 Xcode)中的类似行为。

以下是应用委托如何生成由菜单项触发的窗口:

@IBAction func inputAccessList(_ sender: NSMenuItem) {
    let inputAccessListController = InputAccessListController()
    inputAccessListControllers.append(inputAccessListController)
    inputAccessListController.showWindow(self)
}

这是我的窗口控制器的开始。这里不多!

class InputAccessListController: NSWindowController, NSWindowDelegate {
    @IBOutlet var accessListInput: NSTextView!    
    let appDelegate = NSApplication.shared.delegate as! AppDelegate
    override var windowNibName: NSNib.Name? {
        return NSNib.Name("InputAccessListController")
    }
    override func windowDidLoad() {
        super.windowDidLoad()
    }

我也试过设置 窗口?.toolbar?.isVisible = false 在 super.windowDidLoad 之后,但它没有效果。设置断点确认 window?.toolbar == nil

下面是我的 .xib 文件的图片(缺少工具栏)。然后是带有工具栏的正在运行的应用程序的图片。

【问题讨论】:

    标签: swift xcode macos cocoa


    【解决方案1】:

    我能够重现,它似乎没有链接到窗口属性,而是链接到 text views
    当您使用 Rich Document Text View 时,该栏似乎会出现。
    我猜您使用的Access-list 是富文本视图,您可以使用常规文本视图,工具栏会消失。
    或者如 Darrell 所述,在 Text View 属性检查器中取消选中 inspector bar

    【讨论】:

    • 谢谢!我将底部的可滚动文本视图设为“富文本”,这样我就可以有颜色编码的输出。但是在该字段的属性检查器中,有一个“检查器栏”项目已被选中。删除该复选标记解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2019-05-25
    • 2022-07-07
    • 2021-05-27
    • 1970-01-01
    • 2022-11-12
    相关资源
    最近更新 更多