2012-04-04 65 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]查询每一个。如果您想要一个通用实用工具,您可以查看视图中的每个子视图,并查看它是否是第一响应者,或者它是否是子视图中的任何子视图。