ios开发--通过UIView对象获取该对象所属的UIViewController(转)
通过UIView对象获取该对象所属的UIViewController可以使用UIResponder的nextResponder方法获得,UIView类继承于UIResponder,因此可以直接使用。
根据文档描述,如果View有viewcontroller,则通过nextResponder方法返回,如果没有则返回superview。
下面是英文原文:
iftheviewhasaviewcontroller,itisreturnedbynextResponder.
Ifthereisnoviewcontroller,themethodwillreturnthesuperview
相关代码如下:遍历该View的树形结构,获取到其所属的ViewController- (UIViewController*)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { return (UIViewController*)nextResponder; } } return nil; }
相关推荐
好好学习天天 2020-07-21
heqiang0 2020-06-25
定格 2020-05-30
定格 2020-04-17
zhoutaifeng 2020-04-17
zhoutaifeng 2020-04-17
zhoutaifeng 2020-03-07
好好学习天天 2020-03-06
heqiang0 2020-03-02
知更鸟CoolLee 2020-02-27
发条戏子 2020-02-22
herogood 2020-02-19
好好学习天天 2020-02-17
heqiang0 2020-02-13
heqiang0 2019-12-12