您的位置:首页 > 移动开发 > IOS开发

iOS开发:如何通过响应者链条获取到导航、标签等控制器呢?

2016-08-25 23:52 519 查看
在某些代码中,你可能无法直接获取该视图的导航控制器,标签控制器,或者主窗口,你可以通过响应者链条来获取,贴出代码如下:建议添加一个UIView 的类目来放这些代码

//获取导航控制器

- (UINavigationController * )navigationController{

UIResponder * next = [self nextResponder];

while (next!=nil) {

if([next isKindOfClass:[UINavigationController class]]){

return (UINavigationController * )next;

}

next = [next nextResponder];

}

return nil;

}

//获取标签控制器

- (UITabBarController * )tabBarController{

UIResponder * next = [self nextResponder];

while (next!=nil) {

if([next isKindOfClass:[UITabBarController class]]){

return (UITabBarController * )next;

}

next = [next nextResponder];

}

return nil;

}

//获取主窗口

- (UIWindow * )rootWindow{

UIResponder * next = [self nextResponder];

while (next!=nil) {

if([next isKindOfClass:[UIWindow class]]){

return (UIWindow * )next;

}

next = [next nextResponder];

}

return nil;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uiview 导航 标签