這是我的一個app中出現(xiàn)的bug,我今天終于找回這個迷路的導航欄丢习,它再次回到我的懷抱牵触。
Boos要求:從相機拍完一張照片之后,不要dismiss回當前VC咐低,(因為如果dismiss回當前頁面它回停留2秒揽思,這樣的視圖效果特別丑)而是要立馬跳轉(zhuǎn)到另一個VC。于是我就對相機協(xié)議進行了這樣的操作
直接用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];
}
跳轉(zhuǎn)到另一個VC之后就出現(xiàn)了一個嚴重的bug钉汗,就是在另一個頁面我的導航欄不見了羹令。我試了很多的辦法,都沒有找回损痰。最后在我的老師的幫助下福侈,我找回了這個迷路的導航欄。在相機中卢未,導航欄的狀態(tài)是隱藏的肪凛。所以在你跳轉(zhuǎn)過去之后的VC中你要解開導航欄的隱藏。我這里出現(xiàn)的問題是導航欄的位置上升了尝丐。
//? ? 調(diào)試導航欄
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值爹袁。然后重新布局了一下。遺失的導航欄就成功的被我找回了矮固。