其实我觉得StoryBoard真的很没用,除非是特别简单就一两个页面,而且页面样式简单的还比较方便,稍微复杂点,就不好用了。推荐删掉StoryBoard,用xib来自定义所有的view。
今天用了下StoryBoard,建了一个页面A,一个页面B,A点击按钮可以到B页面,由于不是用的StoryBoard拖得segue,结果发现跳转到B后是黑屏。
一看才发现,原来在StoryBoard创建好viewcontroller后想到与已经生成了,如果在跳转时再alloc一个,那么这时就是又生成了一个B,跟StoryBoard是没有关系的,而controller默认的背景就是黑色的,所以是黑屏。
解决方法,就是将StoryBoard中的controller和实例化的想关联。如下:
- (IBAction)tranAction:(id)sender {
UIStoryboard *main=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
BViewController *b=[main instantiateViewControllerWithIdentifier:@"B"];
// b.transStr=^(NSString *str){
// _ALabel.text=str;
// };
[b setTitle:@"B"];
[self.navigationController pushViewController:b animated:YES];
}
StoryBoard中的controller也要相