首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从故事板创建时,NSSplitViewController不会折叠

从故事板创建时,NSSplitViewController不会折叠
EN

Stack Overflow用户
提问于 2019-01-25 20:58:32
回答 2查看 226关注 0票数 0

我试图模仿Notes和Contacts等应用程序的行为,当我调整窗口大小时,左侧拆分的视图项目会折叠。在使用故事板时,我无法重新创建此行为。

如果我在代码中创建NSSplitViewController,它可以很好地工作,但是如果我通过故事板创建,它就不能工作。

代码语言:javascript
复制
import Cocoa

class MainWindowController: NSWindowController {
    override var windowNibName: NSNib.Name? {
        return "MainWindowController"
    }

    override func windowDidLoad() {
        super.windowDidLoad()

//        let splitViewController = NSSplitViewController()
        let splitViewController = NSStoryboard(name: "Storyboard", bundle: nil).instantiateInitialController() as! NSSplitViewController

        let sidebarSplitViewItem = NSSplitViewItem(sidebarWithViewController: SidebarViewController())
        splitViewController.addSplitViewItem(sidebarSplitViewItem)

        let contentSplitViewItem = NSSplitViewItem(viewController: ContentViewController())
        splitViewController.addSplitViewItem(contentSplitViewItem)

        contentViewController = splitViewController
    }    
}

我不知道这是不是一个bug,或者当它来自故事板时,我在NSSplitViewController上遗漏了一个属性来让折叠行为工作。

代码:

故事板:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-06 16:00:01

(回答我自己的问题)

我收到了来自苹果的关于我为此提交的雷达的反馈。我可以确认这个问题现在已经在macOS Catalina beta5中得到了解决。

票数 0
EN

Stack Overflow用户

发布于 2019-02-15 07:44:18

您的项目中没有定义拆分视图项。当您在代码中执行此操作时,您通过将拆分视图行为设置为侧边栏来定义保留优先级。如果不从界面构建器中删除拆分视图本身,也可以在界面构建器中执行此操作。然而,折叠侧边栏必须在代码中完成。查看contacts应用程序,我相信他们正在跟踪窗口大小,并在它达到硬编码大小时折叠侧边栏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54365793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档