在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/iOS/ 【iOS】我有三個(gè)頁(yè)面A,B,C,A present 到B,B present到

【iOS】我有三個(gè)頁(yè)面A,B,C,A present 到B,B present到C,但是dismiss回到A的時(shí)候B會(huì)閃一下?

如題

我有三個(gè)頁(yè)面A,B,C,A present 到B,B present到C,但是當(dāng)C dismiss 到A的時(shí)候,B會(huì)閃一下,請(qǐng)問(wèn)怎么消除??
這是我的dismiss代碼:

 -(void)dismiss 
    {
        UIViewController *vc = self;
         while (![vc isKindOfClass:[BViewController class]]) {
            vc = vc.presentingViewController;
         }
         if (vc.presentingViewController)
         {
             vc = vc.presentingViewController;
         }
         [vc dismissViewControllerAnimated:NO completion:^{
          // do something
         }];
    }
回答
編輯回答
萌面人
  1. -> A 必須是從C->B B->A這樣dismiss。會(huì)閃一下應(yīng)該是這個(gè)問(wèn)題。個(gè)人建議B可以有navCon,然后push到C,C再dismiss。
2017年2月8日 22:48
編輯回答
礙你眼
  1. dismiss 到 A 說(shuō)明你你在讀書(shū) B,C 同時(shí) dimiss.

但是你希望只看到 C dismiss 的動(dòng)畫(huà).
那你在 dismiss C 之前先 (通過(guò)委托或通知) 讓 B 先 dismiss(同時(shí)動(dòng)畫(huà)參數(shù)設(shè)置為 false)
然后再 dismiss C

2017年10月14日 22:07
編輯回答
替身

@白龍子

我是這樣

-(void)dismiss 
{
    UIViewController *vc = self;
     while (![vc isKindOfClass:[BViewController class]]) {
        vc = vc.presentingViewController;
     }
     if (vc.presentingViewController)
     {
         vc = vc.presentingViewController;
     }
     [vc dismissViewControllerAnimated:NO completion:^{
      // do something
     }];
}

可是還是會(huì)閃一下,但是不是必現(xiàn),只是第一次啟動(dòng)App的時(shí)候會(huì)B頁(yè)面會(huì)閃一下,在iOS 11上特別明顯

2017年10月11日 04:03
編輯回答
夢(mèng)若殤

直接回退到根控制器:

/** 回退到根控制器*/
-(void)dismissToRootViewController
{
    UIViewController *vc = self;
    while (vc.presentingViewController) {
        vc = vc.presentingViewController;
    }
    [vc dismissViewControllerAnimated:YES completion:nil];
}

固定回退兩個(gè)頁(yè)面:


[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

這樣子?

2018年7月24日 08:49