在我手機裏,【AppStore】這款軟件打開的頻率雖然不是最高的,但是它是我認爲做的最好的。它的亮眼之處在我看來有兩點,一是首頁的轉場動畫,我之前的文章裏面已有所涉及,其二就是導航欄的動畫。
現在衆多的app裏,爲了省事,基本都是自定義導航,側滑的時候,總感覺少了點味道。
而且蘋果在iOS11上增加了大標題模式,現在在第三方app裏,根本見不到其在裏面的應用。
所以就有了這個導航欄框架,這是在HXNavigationController基礎上進行修改的,拓展了大標題,導航Search,Segment,導航頭像等功能。並且可以隨意點切換喲。
其中有幾個注意點:
注意點1:在實踐過程中,發現在大標題模式下,用常規的第三方刷新控件會有UI方面的bug,所以在demo裏面自己封裝了一下系統的UIRefreshControl。在用系統的UIRefreshControl的過程中,發現只用self.addSubview(refreshControl)
或者self.refreshControl = refreshControl
,如果沒有區分小/大標題時,會有問題產生,所以做了下兼容。
if inVC.hx_navEnableLargeTitle == true {
self.refreshControl = refreshControl
self.refreshCtrol = refreshControl
}else {
self.addSubview(refreshControl)
self.refreshCtrol = refreshControl
}
注意點2:UISegmentedControl其實是添加在UISearchController上面的,所以一定要實現它的代理並在代理searchBarShouldBeginEditing
方法裏面返回false,防止點擊UISegment時出現鍵盤。
注意點3:在各個模式切換時,【小標題】返回到【小標題+搜索模式】最爲特殊,不得已做了相應的判斷處理,大家可以在ViewController裏面着重看一下self.isLargeTitle == false && self.isShowSearch
這兩個判斷條件就可以了。
歡迎大家點贊或評論