iOS 导航栏遮挡视图处理

遮挡原因 : iOS7之后导航栏新增了Translucent属性(透明度)导致View视图向上延伸

方法一

设置导航栏透明度:
swift : self.navigationController?.navigationBar.isTranslucent = false
OC : [self.navigationController.navigationBar setTranslucent:NO];

方法二

设置视图不延伸
swift : self.extendedLayoutIncludesOpaqueBars = false
self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)
self.modalPresentationCapturesStatusBarAppearance = false;
OC : self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeTop;
self.modalPresentationCapturesStatusBarAppearance = NO

方法三

为导航栏设置背景图
swift:self.navigationController?.navigationBar.setBackgroundImage(UIImage.init(named: "back.png"), for: UIBarMetrics.default)
OC : [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"button_bg_88b048.png"] forBarMetrics:UIBarMetricsDefault]

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容