我正在制作一个应用程序,该应用程序需要使用多个带有数字键盘的文本字段作为第一响应者。我创建了一个图像用作否定按钮,它将作为数字键盘的补充。
我想知道是否有办法检查数字键盘正在输入的文本字段。
任何帮助,将不胜感激!
我正在制作一个应用程序,该应用程序需要使用多个带有数字键盘的文本字段作为第一响应者。我创建了一个图像用作否定按钮,它将作为数字键盘的补充。
我想知道是否有办法检查数字键盘正在输入的文本字段。
任何帮助,将不胜感激!
如果您所有潜在的第一响应者都是 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];
如果它们的数量有限,您可以使用 [textFieldN isFirstResponder] 查询每个。如果你想要一个通用的实用程序,你可以查看视图中的每个子视图,看看它是否是第一响应者,或者它的任何子视图是否在层次结构中更远。