我有一个应用程序,它有一些UITextField,允许我的用户输入他们的年龄和另一个数值。理想情况下,我希望键盘在编辑TextField时调出数字小键盘。目前我将它设置为Numer和Punctuation只是为了使用'完成'按钮来关闭键盘,因为数字键盘没有完成按钮。
在尝试使用数字小键盘时,我尝试通过点击主视图的背景将其设置为关闭。
-(IBAction)backgroundTapped:(id)sender;
我在头文件中创建了上述操作。
-(IBAction)backgroundTapped:(id)sender {
[ageEntry resignFirstResponder];
}
我在我的实现文件中扩展了上面的方法,告诉ageEntry TextField resignFirstResponder。我还将主视图更改为UIControl类,并通过Interface Builder将buttonTapped操作连接到相关警报。然而,当我触摸背景时,没有任何事情发生。
有什么想法吗?
答案 0 :(得分:1)
使用方法
检测viewController视图中的触摸- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[urAgeField resignFirstResponder];
[urOtherField resignFirstResponder];
}
并以此方法重新签名键盘
答案 1 :(得分:1)
更简单的方法是在文本字段中添加inputAccessoryView
。此输入附件视图可以是UIToolbar
,其完成按钮只有一个UITabBarButton
。
更糟糕的是,并且看起来像用于例如Safari的配件视图来解除键盘。
答案 2 :(得分:0)
<强> EDITED 强>
添加
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(tap:)];
tap.numberOfTapsRequired = 1;
[self addGestureRecognizer:tap];
}
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
[ageEntry resignFirstResponder];
}