A—>B—>C,C—>A的兩種VC跳轉(zhuǎn)方式

有A到B再到C,我現(xiàn)在再C頁面返回的時候我想直接跳轉(zhuǎn)到A頁面 :

1.A push B push C,C pop A;


push.png

對于push比較好的一點(diǎn),就是有個棧頂控制器navigationController,它裝載所有下面的控制器,從viewControllers里面取出A,連續(xù)pop2次就可以回到A控制器:

NSArray * viewControllers = weakSelf.navigationController.viewControllers;
    
    for (UIViewController * avc in viewControllers) {
        
        if ([avc isKindOfClass:[UIViewAControllerA class]]) {
            
            [self.navigationController popToViewController:(UIViewController*)avc animated:YES];
        }
    }
  1. A present B present C,C dismiss A
present.png

最簡單的方式直接使用通知,在C中dismiss的時候發(fā)出通知,在B中監(jiān)聽C然后dismiss到A:

// 在C中關(guān)掉自己
    [self dismissViewControllerAnimated:YES completion:^(){
        //關(guān)掉注冊controller
        [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_CLOSE_B object:nil userInfo:nil];
    }];

// 在B中添加監(jiān)視通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(close) name:NOTIFICATION_CLOSE_B object:nil];

-(void) close{
 [self dismissViewControllerAnimated:YES completion:nil];
}

// 移除通知
- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.自定義控件 a.繼承某個控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,704評論 2 4
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,404評論 4 61
  • UINavigationController通過棧的方式管理控制器的切換,控制入棧和出棧來展示各個視圖控制器。UI...
    PlatonsDream閱讀 1,460評論 0 0
  • 第13章 趙來籌謀逃魔窟,欲與冷叔郝緣聚 馮非走后,趙來就靜靜地躺在床上,把左耳對他的話翻來覆去地想著。既然暫時沒...
    好郝說話閱讀 223評論 0 2
  • 雖然感覺python起點(diǎn)感覺不高,但如上圖證明我還是眼高手低的。想了半天終于想到class可能是某個關(guān)鍵字。 縮進(jìn)...
    MacAthur閱讀 285評論 0 0

友情鏈接更多精彩內(nèi)容