通过代码模态地使用segue

时间:2016-08-21 07:51:45

标签: ios swift navigationcontroller

我有custom navigation bar并且内容为按钮栏 我需要从我的栏按钮创建segue到我的自定义导航类型present modally,但编程不是来自故事板 这项工作但是segue kind是push

self.navigationController?.pushViewController("", animated: true)

我应该做些什么来获得present modally

2 个答案:

答案 0 :(得分:0)

根据您的描述,您希望以present modally方式显示控制器。添加UIButton或类似UIButton(UIBarButtonItem)。

enter image description here

这个怎么样:

override func viewDidLoad() {
    super.viewDidLoad()

    let rightButton = UIBarButtonItem(title: "present", style: .Plain, target: self, action: #selector(clickRightItem))
    navigationItem.rightBarButtonItem = rightButton;
}

func clickRightItem() {
    let controllerToPresent = UIViewController()
    controllerToPresent.view.backgroundColor = UIColor.redColor()
    presentViewController(controllerToPresent, animated: true, completion: nil)

}

答案 1 :(得分:0)

这是一个简单的解决方案,使用NavigationController进行模态显示。

yourviewcontroller *myviewc= [[yourviewcontroller alloc] init];
[self presentViewController:myviewc animated:YES completion:nil];

如果您有导航控制器,则为seconde。

let myvc= self.storyboard!.instantiateViewControllerWithIdentifier("MyViewController") as! ViewController
    let navc= UINavigationController(rootViewController: myvc) 
    self.presentViewController(navc, animated:true, completion: nil)

您只需要为Button创建一个IBAction。本教程可以帮助您完成IBAction

希望有所帮助!