我正在尝试在文本视图的编辑模式下删除键盘。我在主视图上添加了点按手势。但是当编辑模式用于文本字段时单击,然后键盘被删除但是当编辑模式是对于textview,然后键盘不会被删除。请告诉我如何解决这个问题?
在主视图中添加了点按手势。
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[self.main_view setUserInteractionEnabled:true];
[self.main_view addGestureRecognizer:singleFingerTap];
通话方法
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
if([self.txt_username isFirstResponder])
{
[self.txt_username resignFirstResponder];
}
if([self.txt_password isFirstResponder])
{
[self.txt_password resignFirstResponder];
}
}
我已经为文字视图&设置了代理我也添加了textview协议。
答案 0 :(得分:0)
删除set setUserInteractionEnabled = true的代码,你不需要那个
并在你的func中添加它
-(void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
[self.view endEditing:YES];
}
或者您可以使用库TPKeyboardAvoiding,设置为scrollview ..当您点击视图时自动关闭键盘...所以你不需要那个UITapGestureRecognizer
答案 1 :(得分:0)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[[self view] endEditing:YES];
}
当给定阶段有新的或更改的触摸时,app对象会调用其中一种方法。每种方法都有两个参数:一组触摸和一个事件。
了解更多信息Click here
答案 2 :(得分:0)
我认为你只是放了textview resingFirstresponder
。
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
[self.txt_username resignFirstResponder];
}
使用它。