获取包含视图的子视图

时间:2012-01-02 13:48:13

标签: objective-c ios cocoa-touch uiview

如果我有一个视图(mainView),我在其中添加了子视图。如何将子视图实例转到mainView?

我在那些子视图中有一个按钮,当按下它时应该调用mainView中的方法,所以我尝试了:

[myButton addTarget:self.presentingViewController
             action:@selector(myMethod:)
 forControlerEvents:UIControletcetc];

[myButton addTarget:self.parentViewController action:@selector....];

我看到parentViewController现在在iOS 5中返回nil,但presentingViewController似乎不是这样做的,因为它没有以模态方式呈现。它只是一个子视图。任何提示?

2 个答案:

答案 0 :(得分:1)

您的问题并未明确表达您是在谈论视图还是查看控制器。使用superview属性访问视图的父级。

通常无法从视图进入其视图控制器。

答案 1 :(得分:0)

我觉得你试图让你的观点了解超出其范围的对象。

如果您需要向包含您观点的任何人通知某个活动,您可以使用委托来执行此操作。

说:

@protocol YourClassDelegate

@optional

- (void)instanceOfYourClass:(YourClass *)instance tappedButton:(UIButton *)button;

@end

然后

@interface YourClass

@property (nonatomic, assign) id<YourClassDelegate> delegate;

@end

我希望你可以从这里开始,通过合成属性,分配委托并在需要时调用方法。