通过UIView对象获取该对象所属的UIViewController

简介: 通过UIView对象获取该对象所属的UIViewController

通过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

- (UIViewController*)GetViewController:(UIView*)uView
{
    for (UIView* next = [uView superview]; next; next = next.superview) {
        UIResponder* nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            return (UIViewController*)nextResponder;
        }
    }
    return nil;
}
相关文章
|
8月前
|
Swift iOS开发 开发者
什么是 UIViewController 生命周期?
什么是 UIViewController 生命周期?
61 5
|
8月前
|
JavaScript 前端开发
如何删除对象中的属性?如何想对象中添加属性?
如何删除对象中的属性?如何想对象中添加属性?
77 0
|
开发工具
UIView的clipsTobounds属性
UIView的clipsTobounds属性
133 0
UIView的clipsTobounds属性
|
程序员 iOS开发
UIGestureRecognizer类常用属性以及方法
UIGestureRecognizer类常用属性以及方法
123 0
|
JSON JavaScript 前端开发
18、属性描述对象
JavaScript 提供了一个内部数据结构,用来描述对象的属性,控制它的行为,比如该属性是否可写、可遍历等等。这个内部数据结构称为“属性描述对象”(attributes object)。
189 0
|
C# 数据可视化 容器
WPF利用VisualTreeHelper遍历寻找对象的子级对象或者父级对象
原文:WPF利用VisualTreeHelper遍历寻找对象的子级对象或者父级对象 简介   本文将完整叙述我利用VisualTreeHelper实现题述功能的全部过程,想直接看函数实现的朋友可以跳到函数实现部分。
1587 0
|
iOS开发
iOS开发之UIView与UIViewController的生命周期总结
iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。
1279 0
UIViewController生命周期
原文出自:http://blog.csdn.net/duanyipeng/article/details/7106015 原文发布时间为:2012-08-15 本文作者:vinoYang 本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。
891 0