??我們都知道m(xù)j_refresh是一個(gè)非常好用的第三方庫(kù),但是有時(shí)候也有與你自己想要實(shí)現(xiàn)功能相互影響的時(shí)候菱阵;比如筆者想要在刷新狀態(tài)時(shí)隱藏視圖,刷新完成以后顯示視圖(主要是導(dǎo)航欄),但是實(shí)現(xiàn)的時(shí)候卻是各種方案不對(duì)衍锚,無(wú)法實(shí)現(xiàn),最終在經(jīng)過(guò)不斷試驗(yàn)后嗤堰,以如下方案實(shí)現(xiàn):1.隱藏導(dǎo)航欄戴质,2.自定義視圖代替導(dǎo)航欄,用kvo實(shí)現(xiàn)視圖的隱藏已顯現(xiàn)的時(shí)機(jī)踢匣;
代碼如下:
[myTableiView.mj_header addObserver:self forKeyPath:@"state" options:NSKeyValueObservingOptionNew context:nil];
回調(diào)方法實(shí)現(xiàn)
-(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) {
}
這樣就實(shí)現(xiàn)了刷新同時(shí)隱藏和顯示視圖的需求告匠。