没事玩玩ios11新特性,导航栏的大小标题切换问题,就两行代码的事,折腾了好久没发现为什么当滑动 滑动试图时(比如tableView,当然必须内容超过屏幕高度)就是不能大小标题自动切换,平时写demo都是用的storyboard,所有可以在sb上设置的我基本不会多写一句代码,看来太懒了呀,在sb上设置导航栏大标题如下:
按理说只要红色框处的选项打钩就可以了,但是实际却不行,只要该处打钩了,你代码再声明
self.navigationController.navigationBar.prefersLargeTitles = YES;
也是没用的,就是上面提到的无法自动切换导航栏大小标题。但是横屏一下再切换回竖屏又可以了,真心感觉无语。去掉红色框选项,用代码声明使用导航栏大标题又ok了,我感觉是sb的bug,最近有一次tableview的delegate和datasource也是在sb上设置的,代理也没响应( 忘记是哪个版本的Xcode了),感觉好无语,现在的sb怎么感觉越来越难用了呢,bug多多。
另外如果想全部使用导航栏大标题的,可以自定义导航控制器,在加上上面那句代码就ok了,在导航控制器管理的控制器里如果不想使用大标题,声明下以下代码就ok:
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
网友评论