作為一個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