我正在制作一个应用程序,需要使用多个带有数字键的textField作为第一响应者。我已经创建了一个图像作为负数按钮,这将成为数字键盘的补充。检查当前响应者?
我想知道是否有办法来检查数字键盘输入到哪个textField。
任何帮助,将不胜感激!
我正在制作一个应用程序,需要使用多个带有数字键的textField作为第一响应者。我已经创建了一个图像作为负数按钮,这将成为数字键盘的补充。检查当前响应者?
我想知道是否有办法来检查数字键盘输入到哪个textField。
任何帮助,将不胜感激!
如果所有潜在的第一响应者都是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]查询每一个。如果您想要一个通用实用工具,您可以查看视图中的每个子视图,并查看它是否是第一响应者,或者它是否是子视图中的任何子视图。