2012-04-28 40 views

回答

1

如果我得到你的問題正確,您需要從的UITextField獲取文本時,此UITextField寬鬆焦點(用戶點擊其他地方)。要做到這一點,你需要:

  1. 聲明類爲(在yourClassName.h 文件)
  2. 實現yourClassName.m文件這個方法:

    - (void)textFieldDidEndEditing:(UITextField *)textField { 
        NSString *someStringOrWhateverYouNeed = textField.text; 
    } 
    

任何時候用戶將按鍵盤上的返回按鈕,你的班級將有一個通知,並調用此方法。

在情況下,如果你需要收集來自多個UITextFields事件中,你可以標記有特定標記的所有文本字段,並創建一個IBAction爲這樣的:

- (IBAction)getTextFieldEvent:(id)sender { 
    UITextField *currentTextField = (UITextField *)sender; 
    switch (currentTextField.tag) { 
     case 1: 
      // some code here for textField with tag = 1 
      break; 
     case 2: 
      // some code here for textField with tag = 2 
      break; 
     case 3: 
      // some code here for textField with tag = 3 
      break; 
     default: 
      // some default code here 
      break; 
    } 
} 

對於不同事件類型我可以建議創建不同IBAction爲的。如果你不需要改變UITextField的屬性(例如字體等),那麼你並不需要IBOutlets。

希望能幫到:)

+0

感謝您的評論。我最感興趣的是如何處理不同的事件類型而不創建IBActions,但我理解沒有解決方法,我必須做所有這些IBActions? – JavaCake 2012-04-29 09:23:14

+0

IBAction只是處理控件事件的正確方法:) – 2012-04-29 09:47:03

0

做另一個具有相同名稱的IBAction連接。然後擦除重複的方法。兩個文本字段都將連接到相同的IBAction方法。