这是我的一个app中出现的bug,我今天终于找回这个迷路的导航栏,它再次回到我的怀抱。
Boos要求:从相机拍完一张照片之后,不要dismiss回当前VC,(因为如果dismiss回当前页面它回停留2秒,这样的视图效果特别丑)而是要立马跳转到另一个VC。于是我就对相机协议进行了这样的操作
直接用picker push到另一个VC (picker是继承导航的,所以可以直接push过去)
代码如下:-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info{
self.image1 = info[UIImagePickerControllerOriginalImage];
SelectViewController *selectVC = [[SelectViewController alloc]init];
selectVC.selectImage = self.image1;
[picker pushViewController:selectVC animated:NO];
}
跳转到另一个VC之后就出现了一个严重的bug,就是在另一个页面我的导航栏不见了。我试了很多的办法,都没有找回。最后在我的老师的帮助下,我找回了这个迷路的导航栏。在相机中,导航栏的状态是隐藏的。所以在你跳转过去之后的VC中你要解开导航栏的隐藏。我这里出现的问题是导航栏的位置上升了。
// 调试导航栏
NSLog(@"--------------123%@", self.navigationController.navigationBar);
self.navigationController.navigationBar.frame=CGRectMake(0, 0, ScreenW, 64);
// 重新布局一下
[self.navigationController.navigationBar setNeedsLayout];
self.navigationController.navigationBarHidden = NO;
NSLog(@"--------------12356%@", self.navigationController.navigationBar);
看到第一次打印出来的frame值,这个导航栏的位置上升了。所以我用代码重新写了他的frame值。然后重新布局了一下。遗失的导航栏就成功的被我找回了。
网友评论