Xcode9项目页面跳转崩溃

新升级手机系统,然后跟着xcode、电脑系统升级,Xcode版本9.4,然后运行程序,没问题。然后点击跳转程序直接崩溃,崩溃到main()函数。

究其原因---navigation使用方法有点变化

首先,在一些页面中为了自定义导航栏,所以在

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}
- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
  
    [self.navigationController setNavigationBarHidden:YES animated:YES];

}
然后自定义一些按钮啥的。然后在跳转的页面设置

self.navigationItem.title = @"关于我们";

xcode6.3、xcode8.3运行没问题,而且一直没动过。然而使用最新下载的xocde9.4,点击页面跳转,直接崩溃。而且毫无崩溃信息。

这时候,怀疑xcode有些新特性,所以赶紧查了下xcode9都有哪些新功能和改变,然而并没有找到解决我问题的办法。

然后,自己重新创建一个viewcontroller,然后跳转到这个新建的viewcontroller,发现并没有崩溃,看来不是项目的问题,问题还是在于各个页面的代码。

最后,只能选择一个相对简单的viewcontroller,然后代码全部注释掉,然后一行一行打开运行。直到

self.navigationItem.title = @"关于我们";

程序崩溃。。。what? excuse me?这是什么意思,我设置一个title有问题吗?

然后注视掉这一行,打开其他代码,程序稳定运行。。。

好吧,看来真的就是这个东西在搞鬼。

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 45)];
    label.text = @"关于我们";
    label.font = [UIFont systemFontOfSize:19];
    label.textAlignment = NSTextAlignmentCenter;
    label.center = CGPointMake(kScreenWidth/2.0, 25);
    label.textColor = [UIColor whiteColor];
    [self.view.addSubview: label];

改成这个,运行,程序正常。。。

后来发现隐藏navigation的时候就

[self.view.addSubview: label]

如果没有隐藏就使用

self.navigationItem.titleView = label;
这真是个奇葩的问题。。。不过好在找到了问题


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值