swift - 为什么我的 NSWindow 有一个工具栏?我怎样才能让它消失?

标签 swift xcode macos cocoa

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

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

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

这是我的窗口 Controller 的开始。这里不多!

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 文件的图片(缺少工具栏)。然后是带有工具栏的正在运行的应用程序的图片。

Picture of xib file Picture of app while running with unwanted toolbar at top

最佳答案

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

enter image description here

关于swift - 为什么我的 NSWindow 有一个工具栏?我怎样才能让它消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56551684/

相关文章:

swift - 在alamofire管理器类swift中添加公钥固定

swift - CollectionView 委托(delegate)错误

Xcode:如何从 shell 脚本中找到 $PRODUCT_NAME?

ios - Xcode 6.1 升级 - ViewController 不再符合 WKScriptMessageHandler 协议(protocol)

java - 应用程序应将其日志存储在 Mac OS 中的什么位置?

macos - 使用应用程序加载器将 Mac OS X 二进制文件上传到 itunesconnect?

macos - OSX 应用程序和命令行工具之间的 NSConnection

ios - 使用 LongPressGesture 多次触发一个 Action

ios - 什么类似于 swift 中的坐标布局(如 android)?

ios - 无法通过框架访问公共(public) swift 类