【问题标题】:Change ViewController MacOS Swift更改 ViewController MacOS Swift
【发布时间】:2017-07-26 23:43:08
【问题描述】:

我在两个不同的故事板中有两个视图控制器:

故事板#1:Main.Storyboard

这连接到一个名为:ViewController.swift 的类:

import Cocoa
class ViewController: NSViewController {

//Bad Button Attempt:
    /*override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) {
        //1
        let CareViewCont
        rol = segue.destinationController as! NSViewController
        //2
        self.dismissViewController(self)
    }*/


    //Rest of Default Code:
    @IBOutlet weak var findButton: NSButton!
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override var representedObject: Any? {
        didSet {
        }
    }
}

故事板#2:Ashwin.Storyboard

这连接到一个名为:CareViewController.swift 的类:

import Cocoa
class CareViewController: NSViewController {

//empty

}

基本上,我要做的就是单击 Main.Storyboard 中的“查找”按钮,然后将视图控制器切换到 Ashwin.Storyboard 中的那个。

我已经尝试将 Ashwin.Storyboard 中的 ViewController 复制并粘贴到 Main.Storyboard,控制单击查找按钮,并创建一个“Action Segue”,但是所有的 action segues 都会弹出一个新窗口,这不是我想要的想。

我还尝试为 ViewController.Swift 中的“查找”按钮创建一个动作侦听器,但我无法使这种方法发挥作用......(我觉得这就是解决方案......)

请帮助我,我在 MacOS 中一无所知。

【问题讨论】:

    标签: swift xcode macos viewcontroller


    【解决方案1】:

    向 main.storyboard 画布添加 storyBoard 引用。然后从查找按钮转到参考。在画布上选择故事板引用,并在属性检查器中将其设置为您的 Ashwin.storyboard

    【讨论】:

    • 谢谢!我仍然有一个问题,所有 segue 类型(显示、模态、工作表或弹出框)都创建一个新窗口,而不仅仅是更改视图控制器。我需要自定义转场吗?
    • 您是否在属性检查器中设置了故事板引用?我对 macOS 应用没有太多经验。
    • 我刚刚在我的 iMac 上做了一个小测试,这确实有效我真的不知道你的应用程序还发生了什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多