我正在制作一个应用程序,需要使用带有数字键盘的多个textFields作为第一响应者。我创建了一个用作负片的图像,它将成为数字键盘的补充。
我想知道是否有办法检查数字键盘输入的textField。
任何帮助将不胜感激!
答案 0 :(得分: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];
答案 1 :(得分:0)
如果只有有限数量,可以使用[textFieldN isFirstResponder]查询每个。如果您想要一个通用实用程序,您可以查看视图中的每个子视图,看看它是第一个响应者,还是它的任何子视图在层次结构的下方。