2012-04-04 71 views
0

我正在製作一個應用程序,需要使用多個帶有數字鍵的textField作爲第一響應者。我已經創建了一個圖像作爲負數按鈕,這將成爲數字鍵盤的補充。檢查當前響應者?

我想知道是否有辦法來檢查數字鍵盤輸入到哪個textField。

任何幫助,將不勝感激!

回答

1

如果所有潛在的第一響應者都是UITextFields,另一種方法是將您的控制器類與UITextFieldDelegate協議一致,然後在開始編輯時獲取對當前編輯的UITextView的引用。 順應類在你的.h:

MyController : NSObject <UITextFieldDelegate> //Might often be a UIViewController rather than an NSObject subclass... 

定義屬性:

@property (weak, nonatomic) UITextField *editingField; 

然後在您的m合成:

@synthesize editingField = __editingField 

然後實現:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [self setEditingField:textField]; 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [self setEditingField:nil]; 
} 

現在,只要你想知道哪個文本字段是你的第一響應者:

UITextField *firstResponder = [self editingField]; 
0

如果只有它們的數量有限,可以使用[textFieldN isFirstResponder]查詢每一個。如果您想要一個通用實用工具,您可以查看視圖中的每個子視圖,並查看它是否是第一響應者,或者它是否是子視圖中的任何子視圖。