【问题标题】:Switch from one view controller to another - IoS从一个视图控制器切换到另一个 - IoS
【发布时间】:2015-03-23 12:39:48
【问题描述】:

我正在努力实现以下目标。我有一个以编程方式创建的导航右栏项目。现在我有一个新的视图控制器 B。单击右栏菜单项时,我需要转到未通过 segue 连接的视图控制器 B。我希望 B 具有带有后退按钮的导航栏。

任何人都可以指导如何做同样的事情并有义务

【问题讨论】:

    标签: ios iphone uinavigationcontroller uinavigationbar uinavigationitem


    【解决方案1】:

    像这样在 ViewControllerA 中创建导航栏项:

    self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Next", style: .Plain, target: self, action: "nextViewController")
    }
    

    在 ViewControllerA 中创建一个函数来处理触摸事件并导航到 ViewControllerB:

    func nextViewController() {
        println("go next")
    
        //TODO: get an instance of your ViewControllerB here...
    
        //navigate to it
        self.navigationController!.pushViewController(viewControllerB, animated: true)   
    }
    

    如何获得 ViewControllerB 的实例取决于您如何定义它。如果它在您的 Main.storyboard 中,您可以这样做:

    let viewControllerB = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ViewControllerB") as? ViewControllerB
    

    这需要您将 ViewControllerB 的 Storyboard ID 设置为“ViewControllerB”。通过在情节提要中选择它并转到身份检查器来执行此操作。

    如果您的 ViewControllerB 是在同名的 nib 中定义的,请执行以下操作:

    let viewControllerB = ViewControllerB(nibName: "ViewControllerB", bundle: nil)
    

    如果您的 ViewControllerB 完全在代码中定义,这应该可以获取它的实例:

    let viewControllerB = ViewControllerB()
    

    【讨论】:

    • 谢谢,能否请您在目标 c 中提出相同的建议?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多