- (1)UIView-Extent.h
- #import <UIKit/UIKit.h>
- @interface UIView (Extend)
- - (UIViewController *)viewController;
- @end
- (2) UIView-Extent.m
- #import "UIView+Extend.h"
- @implementation UIView (Extend)
- - (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;
- }
- @end
本文介绍了一个 Swift 语言中 UIView 的扩展方法,通过此方法可以方便地从 UIView 获取其所属的 ViewController 对象。该扩展利用递归遍历 UIView 的 superview 直到找到 UIViewController 类型的 UIResponder。
732

被折叠的 条评论
为什么被折叠?



