storyboard presentViewController pushViewController 跳转后黑屏 NavigationBar按钮push

环境:XCode5.1,iOS6样式,Storeboard

先在主页面建一个navigation view,然后在导航栏放了一个button,也称之为bar button item.

新建一个view controller(简称viewB),结果按住ctrl,拖动button到viewB可以建立Modal或者Push,运行就是没反应!

好吧,那就创建一个button的action,我习惯用VC++的命名:

- (IBAction)onBtnShowModal2:(id)sender {

}

这样仿真时可以发现按钮事件是调用的,那就可以用代码来跳转到ViewB啦。实现之:

//导航栏按钮弹出模态窗体
- (IBAction)onBtnShowModal2:(id)sender {
    //用pushviewcontroller可以出现导航栏,自动有返回按钮,黑屏
    RightBtnViewController *view = [[RightBtnViewController alloc] init];
    [self.navigationController pushViewController:view animated:YES];
    
    
}

结果发现,导航栏出现了,但是界面黑屏了!使用

[self presentViewController:view animated:YES completion:nil];

结果全部黑屏

好了,换一种方法:

点选ViewB的ViewController,然后右边identity inspector设置Storyboard ID,例如“RightWin”

//导航栏按钮弹出模态窗体
- (IBAction)onBtnShowModal2:(id)sender {
    RightBtnViewController *view = [self.storyboard instantiateViewControllerWithIdentifier:@"RightWin"];
    [self.navigationController pushViewController:view animated:YES];
    
}

这下OK了,就是创建view时的不一样!

使用[self presentViewController:view animated:YES completion:nil];也OK了,不过是全屏不带navigation bar的。可以使用

[self dismissViewControllerAnimated:YES completion:nil];返回!!!

//============华丽的分割线==============

其实上面说了那么多,无非证明一件事:拖动过去的button是可以用的,如果想实现导航栏按钮的导航功能,那这个做法就很傻逼了!正确做法如下:

把button换成bar button item(在控件的最下面),这样按住ctrl拖动,选择push就OK啦,一句话也不用写,是不是很傻逼?哈哈




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值