2010-02-02 58 views
0

我有一个ViewController,它有一个按钮,当按下时从nib添加子视图。我有这个动作:派遣事件父视图

- (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]; 
} 

在这个笔尖我有其他2个按钮,但我想在我的ViewController中捕捉他们的动作。可能吗?或者如何做到这一点的最佳方法?工具提示的类型是Tooltip,所以我有一个类。

回答

0

呃,使用代表?向你的ViewController和Tooltip添加一个委托方法,添加一个方法来设置委托来发送动作。

认为它就像在工具提示上有一个插件,并且在ViewController上有一个套接字。当您添加工具提示时,您将它插入到ViewController中,以便他们可以了解彼此。

1

在工具提示笔尖中,您可以将笔尖的所有者设置为您的ViewController并将按钮操作连接到ViewController。

编辑:

InterfaceBuilder下,您可以在类中的“文件的所有者”所有者的设置为自定义类的ViewController的。要做到这一点,

  1. 在IB,在文档窗口(⌘0),点击“文件的所有者”,
  2. 的身份检查(⌘4),类设置为自定义类(只需输入名称),
  3. 右键(控制)点击文件窗口中的“文件所有者”,查看您的班级宣布的操作和插座。
+0

我想我已经将所有者添加到我的viewcontroller(owner:self),我没有看到任何其他地方这样做。 但问题是我如何将我的按钮从Tooltip笔尖连接到ViewController笔尖?这似乎不可能。 – 2010-02-02 21:57:31

-1

我在最初的功能加入该行与工程

[self.tooltip.butCancel addTarget:self action:@selector(removeTooltip:) forControlEvents:UIControlEventTouchUpInside]; 

如果有一个更好的办法,请举一些例子也是,我没明白如何使用委托。谢谢。

+0

最简单的方法是使用IB。我编辑了我的原始答案,以明确这是如何工作的。 – 2010-02-03 10:23:59