-
tabbar
在我們開發(fā)中,經(jīng)常會遇到有些頁面有TabBar,有些沒有,那么在工程中,如
何讓更多頁面需要顯示和隱藏TabBar,并且更便捷簡單的實現(xiàn)這兩者呢?- 我們通過副類的思想,面向?qū)ο罄^承的思想,我們來實現(xiàn)這兩者。
- 我們需要建立兩個副類,一個是BaseViewController,另一個是BaseDetailViewController,來繼承UIViewController,來分別進(jìn)行顯示和隱藏。
- 我們通過利用UIViewController的生命周期,在ViewWillAppear中,進(jìn)行調(diào)用TabBar的方法。
- 在子類UIVIewController中,調(diào)用副類的Super ViewWillAppear。
- ViewWillAppear為頁面將要出現(xiàn),每個頁面將要顯示時就會被調(diào)用,實現(xiàn)我們得需求。
-
定位
在我們這個工程中,需求定位:
當(dāng)我們打開手機(jī)時,需要顯示附近的超市,我們向后臺傳遞經(jīng)緯度,后臺會向我們回傳經(jīng)緯度附近的超市,并且需要把需求地址以文字的方式顯示到頁面從而得到位置,例如,大連設(shè)計城**號,我們是這樣實現(xiàn)定位的。
- 通過LocationManager,實例化一個CLLocationManager的一個對象,對對象進(jìn)行設(shè)置。
- 在ios9 的方法中進(jìn)行是否決定調(diào)用,在ios8的方法中實行兩種方式(始終定位/當(dāng)使用時才定位)。
- 之后通過定位startUpdatingLocation實現(xiàn)委托方法。
- 首先會有兩種結(jié)果:
- 1)定位失敗,委托方法為DidFailWithError,參數(shù)為Error Code,由此判斷是用戶拒絕還是某些原 因;
- 2)如果定位成功會走成功的委托方法,是Error Code KnowLocation---是CLLocationManager的一種 方法。
- 成功定位經(jīng)緯度后,通過CLGeocoder方法,就可以將數(shù)據(jù)進(jìn)行轉(zhuǎn)換傳值到頁面中。