【问题标题】:How can i navigate to mainviewcontroller from subview我如何从子视图导航到主视图控制器
【发布时间】:2014-09-18 21:15:26
【问题描述】:

我刚刚开始使用 swift,我创建了一个子视图,上面有一个按钮,我想使用该按钮将我带到我的主视图控制器。

我对不同的按钮使用了相同的功能,但是在同一个文件中拥有一个功能允许该按钮工作,代码如下

var playAgainButton = UIButton(frame: CGRectMake(0, 150, 320, 40))
            playAgainButton.setTitle("Play Again", forState: UIControlState.Normal)
            playAgainButton.addTarget(self, action: Selector("startGame"), forControlEvents: UIControlEvents.TouchUpInside)
            playAgainButton.backgroundColor = UIColor.redColor()
            gameOver.addSubview(playAgainButton)

是否可以使用类似的代码导航到不同的视图控制器?

谢谢

【问题讨论】:

    标签: uiview swift ios8 xcode6 subview


    【解决方案1】:

    您是在使用故事板,还是全部在代码中?如果它在代码中,请创建一个类似

    的方法
    func goToMainVC() {
        if let navController = self.navigationController {
            navController.popToRootViewControllerAnimated(true)
        }
    }
    

    并将按钮的目标设置为调用它的选择器。

    如果您使用情节提要,您有三个选择:

    1. ctrl+将连接从您的按钮拖回主视图控制器(简单,但形式不好,因为它只是将主 VC 推回导航控制器);
    2. 在上面的fun goToMainVC()方法之前添加@IBAction,然后ctrl+拖动一个连接从你的按钮到包含它的视图控制器,然后选择那个出口方法(这是大多数人会这样做的);或
    3. 最好的选择是使用 unwind segue,如here 所述。

    【讨论】:

    • 这一切都在一个代码中,我刚刚尝试了 goTo 功能,但是当我点击主页时它没有做任何事情。
    • 嗨,对不起,我现在已经解决了这个问题,是我没有看故事板,我必须添加一个导航控制器,我做了 po self.navController anf 发现它传递了 nil 所以进去了故事板添加了一个导航控制器并开始工作。快速响应 NRiTH
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多