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;
}
//获取导航控制器
- (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;
}
相关文章推荐
- iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
- iOS开发中如何在View视图中获取到该视图的控制器
- 如何让开发的iOS应用程序快速被苹果审核通过?
- iOS开发那些事-nib实现标签导航
- [iOS开发]如何获取天气状态
- iOS开发UI篇—多控制器和导航控制器简单介绍
- ios开发——NSString如何从标准输入设备获取字符串
- 【phpcms-v9】如何通过{pc}标签获取全站文章内容?
- IOS开发-表视图LV3导航控制器
- 如何在自定义标签中获取spring通过@Service注解来的service
- iOS开发中通过子视图获取父视图frame的方法
- iOS开发 - 如何获取设备的总容量和可用容量
- iOS开发那些事-故事板实现标签导航
- iOS培训篇——如何创建导航控制器
- UITabBarController 标签栏控制器-IOS开发
- UITabBarController 标签栏控制器-IOS开发
- iOS开发那些事-nib实现标签导航
- iOS开发那些事-故事板实现标签导航 推荐
- iOS 导航控制器、标签、表视图的创建方法
- iOS中如何通过点击UITableViewCell中的Button来获取当前Cell的indexPath