??我們都知道mj_refresh是一個非常好用的第三方庫,但是有時候也有與你自己想要實現功能相互影響的時候;比如筆者想要在刷新狀態時隱藏視圖,刷新完成以后顯示視圖(主要是導航欄),但是實現的時候卻是各種方案不對,無法實現,最終在經過不斷試驗后,以如下方案實現:1.隱藏導航欄,2.自定義視圖代替導航欄,用kvo實現視圖的隱藏已顯現的時機;
代碼如下:
[myTableiView.mj_header addObserver:self forKeyPath:@"state" options:NSKeyValueObservingOptionNew context:nil];
回調方法實現
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context{
// NSLog(@"%ld",myTableiView.mj_header.state);
if (myTableiView.mj_header.state==2) {
}
if (myTableiView.mj_header.state==1) {
}
這樣就實現了刷新同時隱藏和顯示視圖的需求。