Iphone 将事件分派到父视图
我有一个ViewController,它有一个按钮,当按下该按钮时,会从nib添加一个子视图。我有以下行动:Iphone 将事件分派到父视图,iphone,objective-c,events,Iphone,Objective C,Events,我有一个ViewController,它有一个按钮,当按下该按钮时,会从nib添加一个子视图。我有以下行动: - (IBAction) addTooltip { if (self.tooltip == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Tooltip" owner:self options:nil]; self.tooltip = [nib objectAtIndex:0
- (IBAction) addTooltip {
if (self.tooltip == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Tooltip" owner:self options:nil];
self.tooltip = [nib objectAtIndex:0];
self.tooltip.frame = CGRectMake(20, 190, 260, 200);
}
[self.view addSubview:tooltip];
}
在这个nib中,我有另外两个按钮,但我想在我的ViewController中捕捉它们的动作。可能吗?或者最好的方法是什么?工具提示属于工具提示类型,因此我为它设置了一个类。嗯,使用代理?将委托方法添加到ViewController中,并在工具提示中添加一个方法,用于设置要向其发送操作的委托
将其视为工具提示上有一个插头,ViewController上有一个插座。添加工具提示时,您正在将其插入ViewController,以便他们可以相互了解。在工具提示笔尖中,您可以将笔尖的所有者设置为您的ViewController,并将按钮操作连接到ViewController 编辑: 在InterfaceBuilder中,您可以将“文件所有者”所有者的类设置为
视图控制器的自定义类。为此,
在IB中,在文档窗口中(⌘0),单击“文件所有者”
在身份检查器中(⌘4) ,将类设置为自定义类(只需键入名称)
右键(控制)单击文档窗口中的“文件所有者”以查看类的声明操作和出口
我在最初的函数和工作中添加了这一行
[self.tooltip.butCancel addTarget:self action:@selector(removeTooltip:) forControlEvents:UIControlEventTouchUpInside];
如果有更好的方法,请给出一些例子,我不知道如何使用代理。谢谢。我想我已经将所有者添加到我的viewcontroller(所有者:self)中了,我看不到其他地方可以这样做。但问题是如何将按钮从工具提示笔尖连接到ViewController笔尖?这似乎是不可能的。最简单的方法是使用IB。我编辑了我的原始答案,以明确它是如何工作的。