作为一个ios开发的新手,很不幸又很幸运的,赶上了ios 11的发版。不幸的之前版本的属性还没熟练,大多还不熟悉,又发版了新的版本,而有关的属性,对于大佬们,认为很简单,很正常的东西,只提了一句,有的甚至一句都没提,导致我们这些刚接触ios的新人来说,真心不知道从何入手。而幸运的是,新特性又省去很多代码,有的功能几行就搞定,使得我这个新手一直认为我的代码是错的,是不靠谱的。
我接触的第一个新特性就是prefersLargeTitles属性,他是BOOL的。
self.navigationController.navigationBar.prefersLargeTitles = YES;//这句话表示是否显示大标题
self.navigationItem.title = @"设置";//设置标题
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAutomatic;//这个是标题显示的方式,下面会详细的说
当prefersLargeTitles设置YES时是显示大标题,如下图所示:
为NO时是不显示大标题
而largeTitleDisplayMode是配合prefersLargeTitles属性的,只要当prefersLargeTitles为YES时才生效,largeTitleDisplayMode有三个模式:
UINavigationItemLargeTitleDisplayModeNever是总是显示小标题
UINavigationItemLargeTitleDisplayModeAlways:总是显示大标题
UINavigationItemLargeTitleDisplayModeAutomatic:自动显示大标题或小标题。用我的话来说:初始时是大标题,当滑动使大标题隐藏时显示小标题。
而更改大标题颜色,是用LargeTitleTextAttributes这个属性(之前翻了好多的帖子,不是说不能改的就是说用setLargeTitleTextAttributes这个属性,也不说怎么用,哎,感觉要逼死小白了)。下面是我设置大标题的属性。
[self.navigationController.navigationBar setLargeTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName,[UIFont systemFontOfSize:18.0f],NSFontAttributeName,nil]];
第一次写这种东西,感觉自己读的都有点乱。
文章参考:http://www.jianshu.com/p/d4a17c32abdf