更新到iOS 11, 切换根控制器后, push到下一个控制器, 发现导航栏上的控件全部消失了, 大家有遇到这种情况吗? 有什么好的解决办法吗?
3条回答
- Anime灬 2017-10-18 03:44关注
你好,消失的情况应该是searchBar(目前我只遇到过一次),其他的应该是需要重新约束就好了。
ios11需要对导航栏重新约束,正常是向上偏移了20个像素。我的解决办法是宏定义一个高度,对ios11特殊处理,希望对你有帮助。
#define NAVIGATION_HEIGHT (CGRectGetHeight([[UIApplication sharedApplication] statusBarFrame]) + CGRectGetHeight(self.navigationController.navigationBar.frame))在你设置的self.navigationBar.frame = CGRectMake(0, 0,ScreenWidth, NAVIGATION_HEIGHT);下面添加
#ifdef __IPHONE_11_0
if (@available(iOS 11.0, *)) {
self.navigationBar.frame = CGRectMake(0, STATUSBAR_HEIGHT,ScreenWidth, NAVIGATION_HEIGHT);
}
#endif
解决 无用评论 打赏 举报