然後,我希望能夠獲得每個按鈕的鼠標事件,以便我可以做其他事情。
不要擔心鼠標。有可能沒有是一隻老鼠(想想平時很流行的平板電腦-Mac的謠言)。
我想爲第一次啓動創建一個新類(FirstLaunch),但我不確定從AppDelegate調用什麼。
你在這裏製造你自己的方法。你可能會讓它成爲單身*;然後,你將實現一個名字類似runFirstLaunchPanel:
方法,這將是一個動作方法(更多關於這些一會兒):
- (IBAction) runFirstLaunchPanel:(id)sender;
實例化對象的筆尖,那麼,從您的應用程序委託,電話作爲發件人的操作方法爲nil
。
將對象放入筆尖並使該方法成爲操作方法的原因是,可以很容易地將菜單項連接到它,以便用戶可以重新運行第一次啓動面板晚點。 (例如,如果它是起點窗口,則可以將新菜單項連接到此操作而不是默認菜單項。)
*是的,我看過關於單身人士的文章,我同意他們。在這樣的情況下,沒關係。
此外,爲了獲得鼠標事件,
這是考慮這個問題的錯誤的方式。你需要做的是設置你的按鈕達到發送消息到你的控制器使控制器(可能AppDelegate
)做點什麼。您想要按鈕發送的消息是一個操作消息。
在擁有含按鈕窗口的筆尖的對象中實現一個操作方法。在類的標題中聲明此方法,然後在IB中通過右鍵單擊控制器並將其從正確的操作方法的圓圈拖動到按鈕,將該按鈕連接到它。
這被稱爲目標 - 行動範例,它將控制器責任(做事情)從命令他們的視圖中隔離出來。因爲每個動作方法只做一件事,所以你可以有一個按鈕,一個菜單項,甚至另一個控制器(上面的應用程序委託)發送相同的動作消息,並且接收控制器不必關心哪個控件正在發送該行動,因爲它已經知道該做什麼。
我不應該是按鈕的sublass,
號你很少創建的不是NSObject的其他任何東西(或者,在覈心數據,NSManagedObject模型對象)的可可子類。
請注意,我說「很少」,而不是「從不」。你將不得不做偶爾的子類,特別是如果你想創建自定義或定製的視圖和單元格(也許,定製的窗口)。然而,子類化在可可中不是必需的達到(我聽說)它在其他平臺上的一些其他框架中的程度。
並考慮到我有多個按鈕,我很困惑。
目標動作範例意味着您不必爲每個按鈕創建一個按鈕子類。一個控制器類實現了所有的操作和股票按鈕,因爲你已經將它們連接到IB,只需告訴控制器「執行此操作」。
看,我需要訪問&操縱我在IB設置IBOutlets,
大概不會。至少,不像你想象的那麼多。
確定何時點擊按鈕(以及哪個按鈕被點擊)。
沒有。按鈕會擔心被點擊;你只需要設置它們來發送,然後迴應他們的行動信息。
這對我想要做的事情有幫助,但我已經通過編輯我的問題 進一步澄清了我的目的,不過謝謝! – Walker 2009-05-26 22:46:24