0

我正在制作一个应用程序,该应用程序需要使用多个带有数字键盘的文本字段作为第一响应者。我创建了一个图像用作否定按钮,它将作为数字键盘的补充。

我想知道是否有办法检查数字键盘正在输入的文本字段。

任何帮助,将不胜感激!

4

2 回答 2

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];
于 2012-04-05T01:51:20.370 回答
0

如果它们的数量有限,您可以使用 [textFieldN isFirstResponder] 查询每个。如果你想要一个通用的实用程序,你可以查看视图中的每个子视图,看看它是否是第一响应者,或者它的任何子视图是否在层次结构中更远。

于 2012-04-05T01:39:13.597 回答