objective-c - 获取 UIView 的 viewcontroller (iphone)

标签 objective-c iphone uiview uiviewcontroller

我这样做是为了获得 View :

[self.superview viewWithTag:10]

但是我怎样才能得到那个 View 的 View Controller 。就像您可以获得 View Controller 的 View 一样,我想以另一种方式进行,这样我就可以向该 View Controller 发送消息(调用方法)。例如:

[[self.superview viewWithTag:10].viewController doSomething];

(显然这不是实际代码,但我想要类似的东西)

最佳答案

您可以使用-nextResponder 方法来做到这一点:

[(YourUIViewController *)[[self.superview viewWithTag:10] nextResponder] doSomething];

根据 http://developer.apple.com/library/ios/documentation/uikit/reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/UIResponder/nextResponder , "UIView 通过返回管理它(如果有)或其父 View (如果没有)的 UIViewController 对象来实现此方法"

关于objective-c - 获取 UIView 的 viewcontroller (iphone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025370/

相关文章:

ios - 如何通过 HitTest 确定 UIView 是否被遮挡或部分不在屏幕上?

ios - 在初始查找时配置 UICollectionView 单元格

iPhone 持久存储

ios - UIBlurEffect 也模糊文本?

iphone - CoreGraphics 线似乎改变了大小?

javascript - PastryKit 是否已被 Apple 以外的任何人成功实现?

iOS UIView 动画 CATransform3DMakeRotation 困惑

ios - 我正在尝试在选择行时向 tableview 单元格中的 UIStackView 添加对象和删除对象 - 它只工作一次

iphone - 长按并单击按钮

objective-c - 用 Core Animation 替换 NSSplitView subview