浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)

这是我在写的第一篇文章,写的不好的地方欢迎指教!

“啥?iOS11?iPhoneX?麻的,这可咋适配~”,相信有好多小伙伴和我一样为了适配iOS一筹莫展~表担心,耐心读完下面一定会对你适配iOSUINavigationBar和UITabBar有帮助的!

在日常开发中,我们真正展示给用户的navgation其实是44px的一个视图,然后在这个自定义视图基础上去添加各种元素,所以现在我们只需要将这个44px的视图固定好,其余视图让他自适应就好了(支持横屏、竖屏)

先看下效果图吧:

浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第1张图片
iPhoneX 竖屏
浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第2张图片
iPhoneX 横屏
浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第3张图片
iPhone6 竖屏
浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第4张图片
iPhone6 横屏

为了快速开发,快速的去使用自定义的UINavigationBar或者UITabBar,第一步,我们需要继承UIView自定义一个假的NavgationView,在其内部布局约束,ViewController的视图添加这个自定义Navgation,UITabBar同理~~~

浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第5张图片
ViewController.m
浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第6张图片
XHNavigationView.h
浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的)_第7张图片
XHNavigationView.m


支持人多的话,后续会给大家带来不用繁琐if else判断iOS版本添加约束的方法~~哈哈!

你可能感兴趣的:(浅谈iOS11适配各苹果设备的UINavigationBar和UITabBar(注:针对自定义的))