2010-02-02 59 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