AppStoreNav.gif
在我手機(jī)里门躯,【AppStore】這款軟件打開的頻率雖然不是最高的淆党,但是它是我認(rèn)為做的最好的。它的亮眼之處在我看來(lái)有兩點(diǎn),一是首頁(yè)的轉(zhuǎn)場(chǎng)動(dòng)畫宁否,我之前的文章里面已有所涉及窒升,其二就是導(dǎo)航欄的動(dòng)畫。
現(xiàn)在眾多的app里慕匠,為了省事饱须,基本都是自定義導(dǎo)航,側(cè)滑的時(shí)候台谊,總感覺(jué)少了點(diǎn)味道蓉媳。
而且蘋果在iOS11上增加了大標(biāo)題模式,現(xiàn)在在第三方app里锅铅,根本見(jiàn)不到其在里面的應(yīng)用酪呻。
所以就有了這個(gè)導(dǎo)航欄框架,這是在HXNavigationController基礎(chǔ)上進(jìn)行修改的盐须,拓展了大標(biāo)題玩荠,導(dǎo)航Search,Segment贼邓,導(dǎo)航頭像等功能阶冈。并且可以隨意點(diǎn)切換喲。
其中有幾個(gè)注意點(diǎn):
注意點(diǎn)1:在實(shí)踐過(guò)程中塑径,發(fā)現(xiàn)在大標(biāo)題模式下女坑,用常規(guī)的第三方刷新控件會(huì)有UI方面的bug,所以在demo里面自己封裝了一下系統(tǒng)的UIRefreshControl统舀。在用系統(tǒng)的UIRefreshControl的過(guò)程中匆骗,發(fā)現(xiàn)只用self.addSubview(refreshControl)
或者self.refreshControl = refreshControl
,如果沒(méi)有區(qū)分小/大標(biāo)題時(shí)誉简,會(huì)有問(wèn)題產(chǎn)生碉就,所以做了下兼容。
if inVC.hx_navEnableLargeTitle == true {
self.refreshControl = refreshControl
self.refreshCtrol = refreshControl
}else {
self.addSubview(refreshControl)
self.refreshCtrol = refreshControl
}
注意點(diǎn)2:UISegmentedControl其實(shí)是添加在UISearchController上面的闷串,所以一定要實(shí)現(xiàn)它的代理并在代理searchBarShouldBeginEditing
方法里面返回false铝噩,防止點(diǎn)擊UISegment時(shí)出現(xiàn)鍵盤。
注意點(diǎn)3:在各個(gè)模式切換時(shí)窿克,【小標(biāo)題】返回到【小標(biāo)題+搜索模式】最為特殊,不得已做了相應(yīng)的判斷處理毛甲,大家可以在ViewController里面著重看一下self.isLargeTitle == false && self.isShowSearch
這兩個(gè)判斷條件就可以了年叮。
歡迎大家點(diǎn)贊或評(píng)論