Chinaunix首页 | 论坛 | 博客
  • 博客访问: 421082
  • 博文数量: 155
  • 博客积分: 2590
  • 博客等级: 少校
  • 技术积分: 2161
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-25 09:33
文章分类

全部博文(155)

文章存档

2015年(1)

2014年(2)

2013年(55)

2012年(97)

分类: 嵌入式

2012-12-20 13:47:27

通过UIView对象获取该对象所属的UIViewController可以使用UIResponder的nextResponder方法获得,UIView类继承于UIResponder,因此可以直接使用。
    根据文档描述,如果View有view controller,则通过nextResponder方法返回,如果没有则返回superview。
下面是英文原文:
if the view has a view controller, it is returned by nextResponder.
If there is no view controller, the method will return the superview
    相关代码如下:遍历该View的树形结构,获取到其所属的ViewController

 原文:

C代码 :
  1. - (UIViewController*)viewController {  
  2.   for (UIView* next = [self superview]; next; next = next.superview) {  
  3.     UIResponder* nextResponder = [next nextResponder];  
  4.     if ([nextResponder isKindOfClass:[UIViewController class]]) {  
  5.       return (UIViewController*)nextResponder;  
  6.     }  
  7.   }  
  8.   return nil;  
  9. }  
阅读(1128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~