其實關(guān)于largeTitle的使用非常簡單朴艰。這里就不細(xì)說了。只是記錄一下我使用大標(biāo)題的一個誤區(qū)址愿。
剛開始的時候一直以為某個控制器用不用大標(biāo)題是用下面這句代碼控制的
self.navigationController.navigationBar.prefersLargeTitles = YES;
如果從一個使用大標(biāo)題的控制器push到一個使用普通標(biāo)題的控制器该镣,那就在另一個控制器中寫上
self.navigationController.navigationBar.prefersLargeTitles = NO;
為了切換控制器的時候設(shè)置不會有沖突,就只能都寫在viewWillAppear中响谓。
但這樣寫完之后發(fā)現(xiàn)從大標(biāo)題push到小標(biāo)題沒有問題损合,但pop回來的時候卻沒有平滑的動畫效果。但看iphone的一些原生app中確實pop回來也是可以有動畫的娘纷。
后來終于發(fā)現(xiàn)嫁审,原來的想法是大錯特錯±稻В控制大標(biāo)題還是小標(biāo)題應(yīng)該是使用下面這句代碼
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAutomatic;
至于用Automatic還是Always律适、Never,就看需求了遏插。
所以從大標(biāo)題切換到小標(biāo)題的做法應(yīng)該是捂贿。合適的時機(jī)設(shè)置好下面這句
self.navigationController.navigationBar.prefersLargeTitles = YES;
然后在大標(biāo)題控制器里設(shè)置
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAutomatic;
或者
UINavigationItemLargeTitleDisplayModeAlways
小標(biāo)題控制器里設(shè)置
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
唉,雖然一開始就知道largeTitleDisplayMode這個屬性胳嘲,但是從沒想過這個屬性的用途厂僧。越想越覺得自己好蠢??