2013-10-16 112 views
0

爲了在顯示鍵盤時顯示帶按鈕的工具欄,我已經子類UITextField覆蓋不在超級的方法

UITextField亞類:

- (void)methodName 
{ 
    //Do stuff 
} 

當用戶按下按鈕並methodName觸發UITextField內部。

我想也觸發了當前的ViewController內同樣的方法爲只與當前ViewController

我想到從裏面methodName得到一個轉診到topviewcontroller並引發我的方法,一些更具體的代碼添加UITextField子類,但它感覺不對。

什麼是正確的方式來做到上述?

回答

1

我會研究委託模式。將視圖控制器作爲文本字段的代表可能是有意義的,以便在按下文本字段時通知它。 喜歡的東西:

textField.delegate = viewController; 

,讓您的視圖控制器類實現相應的UITextFieldDelegate方法,使其在編輯時通知開始/結束。

+0

我不想在編輯開始時收到通知。當'methodName'被觸發而不使用NSNotifications時,我想要「通知」。 – Segev

+0

不應該有太大的區別。只需創建一個MyTextFieldDelegate協議,並使用任何你喜歡的方法。然後,textField中的methodNameTriggered方法將相應的調用發送給其委託。 –

+0

哦,我明白了。謝謝,我會嘗試。 – Segev