這是一篇不完全解決方案
在iOS11下通過模態(tài)跳轉(zhuǎn)的UINavigationController,在dismiss時會出現(xiàn)怪異現(xiàn)象赋访。
首先,presentModalViewController 跳轉(zhuǎn)出來的VC導(dǎo)航欄整體高度為64(糞叉下為88)
但是缓待,dismissViewControllerAnimated 收起VC時蚓耽,導(dǎo)航欄整體高度會縮減至44(糞叉下無差別),然后向下收起旋炒。
總體感覺就是步悠,收起VC時狀態(tài)欄瞬間消失。但失望的是iOS11下并沒有什么新增的API可以控制這種行為瘫镇。
經(jīng)過嘗試鼎兽,不完全解決方案如下:
- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion{
[super dismissViewControllerAnimated:flag completion:completion];
if (DP_IS_IOS11) {
//執(zhí)行詞句代碼,可以消除跳動的問題铣除。但遺憾谚咬,沒有能夠控制隱藏動畫時間的接口,所以為了防止突兀通孽,設(shè)置了透明度動畫序宦。
[self.navigationController setNavigationBarHidden:YES animated:YES];
[UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{
self.navigationController.navigationBar.alpha = 0.0;
}];
}
}