鍍金池/ 問(wèn)答/Java  C  iOS  網(wǎng)絡(luò)安全  HTML/ weex push到IOS原生的頁(yè)面,返回時(shí)出現(xiàn)一個(gè)空的導(dǎo)航欄

weex push到IOS原生的頁(yè)面,返回時(shí)出現(xiàn)一個(gè)空的導(dǎo)航欄

nativePageA --(push)--> weexPageA --(push)--> weexPageB --(push)--> nativePageB --(pop)--> weexPageB
這時(shí)weexPageB頂部會(huì)出現(xiàn)原生的導(dǎo)航欄。
備注:
1、weexPageA是weex入口頁(yè)面,也就是IOS原生加載的第一個(gè)weex頁(yè)面,我在viewWillAppear時(shí)做了處理,如下
-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;

}
也就意味著weexPageA頁(yè)面不會(huì)出現(xiàn)原生的導(dǎo)航欄的問(wèn)題,這是我希望的

2、weexPageB是由weexPageA頁(yè)面push過(guò)來(lái)的,已經(jīng)脫離了viewWillAppear的控制(我在xcode里面打的斷點(diǎn),監(jiān)測(cè),在渲染weexPageB時(shí),viewWillAppear并沒(méi)有觸發(fā)),在nativePageB頁(yè)面pop的weexPageB時(shí),頂部就會(huì)出現(xiàn)原生的導(dǎo)航欄。

回答
編輯回答
骨殘心

目前有個(gè)比較low的方法,就是在父類里面,界面消失時(shí),做個(gè)隱藏導(dǎo)航欄的處理,體驗(yàn)稍微差點(diǎn)
-(void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];
if (self.isFromWeex) {
    [self.navigationController setNavigationBarHidden:YES];
}

}
希望有好的建議,繼續(xù)提出,謝謝!

2018年9月8日 04:15
編輯回答
未命名

自己實(shí)現(xiàn) WXNavigationProtocol 寫一個(gè) handler 類似于 WXNavigationDefaultImpl ,攔截跳轉(zhuǎn)方法, 跳轉(zhuǎn)一個(gè)自己實(shí)現(xiàn)的weexVC。

2017年5月28日 22:05