介紹:
自定義導(dǎo)航條,同時(shí)兼容iOS6與iOS7。之所以自定義導(dǎo)航條,原因有兩個(gè):
1、做同時(shí)兼容iOS6與iOS7的導(dǎo)航條時(shí),使用原生導(dǎo)航條總是不順手。于是想自定義一個(gè),這樣兼容iOS6與iOS7時(shí),代碼相對(duì)統(tǒng)一。另外,因?yàn)槭亲远x的,要做一些特殊的效果時(shí)比較容易控制(比如:導(dǎo)航條分成兩行,段選擇器SegmentView合并到導(dǎo)航條內(nèi))。
2、個(gè)人原因,3.5寸屏幕的iOS7右滑返回時(shí),導(dǎo)航條不動(dòng)只是內(nèi)容頁面移動(dòng),感覺比較壓抑。所以,希望兼顧原生的右滑返回,又可以使導(dǎo)航條
測(cè)試環(huán)境:
測(cè)試環(huán)境:Xcode 5.0, iOS 6.0 以上。
效果圖:
使用方法:
自定義導(dǎo)航條,同時(shí)兼容iOS6與iOS7。之所以自定義導(dǎo)航條,原因有兩個(gè):
1、做同時(shí)兼容iOS6與iOS7的導(dǎo)航條時(shí),使用原生導(dǎo)航條總是不順手。于是想自定義一個(gè),這樣兼容iOS6與iOS7時(shí),代碼相對(duì)統(tǒng)一。另外,因?yàn)槭亲远x的,要做一些特殊的效果時(shí)比較容易控制(比如:導(dǎo)航條分成兩行,段選擇器SegmentView合并到導(dǎo)航條內(nèi))。
2、個(gè)人原因,3.5寸屏幕的iOS7右滑返回時(shí),導(dǎo)航條不動(dòng)只是內(nèi)容頁面移動(dòng),感覺比較壓抑。所以,希望兼顧原生的右滑返回,又可以使導(dǎo)航條在滑動(dòng)時(shí)跟著移動(dòng)。
------ 介紹 ------
1、CustomNaviBarView:自定義的導(dǎo)航條,繼承自UIView。
- 將導(dǎo)航條分成左中右三個(gè)區(qū)域。默認(rèn)在左區(qū)添加一個(gè)返回按鈕。
- 提供創(chuàng)建導(dǎo)航條按鈕的方法,可在外部自定義按鈕添加到導(dǎo)航條上。
- 提供外部覆蓋視圖的方法,可在外部自定義一個(gè)視圖,覆蓋到導(dǎo)航條上。例如:CustomNaviBarSearchController
2、CustomNaviBarSearchController:搜索關(guān)鍵字輸入框,可對(duì)接覆蓋到CustomNaviBarView上。
- 提供兩種導(dǎo)航條上的關(guān)鍵字輸入框
- 由按鈕觸發(fā),點(diǎn)擊按鈕后顯示輸入框,結(jié)束后銷毀輸入框現(xiàn)實(shí)按鈕。
- 導(dǎo)航條一直顯示輸入框。
- 提供最近輸入的關(guān)鍵字列表。
3、CustomNavigationController:繼承自UINavigationController。
- 把系統(tǒng)導(dǎo)航條隱藏,以便顯示自定義的導(dǎo)航條。
- 若想使用自定義導(dǎo)航條,導(dǎo)航控制器需繼承自此類。
4、CustomViewController:繼承自UIViewController。
- 封裝了接入自定義導(dǎo)航條的方法,把具體業(yè)務(wù)與自定義導(dǎo)航條分開。
- 所有需使用自定義導(dǎo)航條的視圖控制器可直接繼承此類。