UIView有没有一种从 a到它的内置方法UIViewController?我知道你可以从UIViewController它UIView通过[self view]但我想知道是否有反向引用?
UIView
UIViewController
[self view]
由于长期以来这一直是公认的答案,我觉得我需要用更好的答案来纠正它。
关于需求的一些评论:
如何实现它的示例如下:
@protocol MyViewDelegate < NSObject > - (void)viewActionHappened; @end @interface MyView : UIView @property (nonatomic, assign) MyViewDelegate delegate; @end @interface MyViewController < MyViewDelegate > @end
视图与其委托接口(UITableView例如,如此),它不关心它是在视图控制器中实现还是在您最终使用的任何其他类中实现。
UITableView
我的原始答案如下: 我不推荐这个,其他可以直接访问视图控制器的答案也不推荐
没有内置的方法可以做到这一点。虽然您可以通过在 Interface Builder 中添加和连接这些来解决它,但不建议这样做IBOutlet。UIView视图不应该知道视图控制器。相反,您应该按照@Phil M 的建议进行操作,并创建一个用作委托的协议。
IBOutlet