美文网首页
获取viewController的三种方法

获取viewController的三种方法

作者: 傅里叶的幻想 | 来源:发表于2017-04-24 17:41 被阅读0次

主要的方法有三种:

1)获取当前view第一个响应的VC

- (UIViewController *)fristResponseViewController
{
  UIViewController *viewController = nil;  
  UIResponder *next = self.nextResponder;
  while (next)
  {
    if ([next isKindOfClass:[UIViewController class]])
    {
      viewController = (UIViewController *)next;      
      break;    
    }    
    next = next.nextResponder;  
  }
    return viewController;
}

2) 获取当前window,但是必须view add上去才能用 不然self.window是nil

[self.window.rootViewController presentViewController:VC animated:NO completion:nil];

3)任何时候都可以使用

[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:VC animated:NO completion:nil];

总结:第一,二种方法必须把view添加上去,第三种方法就不存在这种问题,不过,一般情况,肯定是view添加上去才会触发调用.

相关文章

网友评论

      本文标题:获取viewController的三种方法

      本文链接:https://www.haomeiwen.com/subject/bjvpzttx.html