最近为了验证一个问题是不是系统bug,写了一个小demo,结果发现跳转controller的时候没反应。主要代码为:
#import "ViewController.h"
#import "InputViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)p_addClick:(id)sender {
InputViewController *inputViewController = [[InputViewController alloc] init];
[self.navigationController pushViewController:inputViewController animated:YES]; // 跳转页面
}
@end
调试发现 self.navigationController为nil。试了几种方式初始化一个navi赋值都不行,各种crash。最后查阅资料发现,StoryBoard方式创建的页面,要在Editor里面创建一个Navigation,具体办法就是:
在board里选中首页的ViewController,之后Editor-Embedded in- Navigation Controller
配置之后,上面的pushViewController代码就会生效啦~
配置前:
配置后: