单击uiview时如何从textview中删除键盘?
Posted
技术标签:
【中文标题】单击uiview时如何从textview中删除键盘?【英文标题】:How to remove keyboard from textview when uiview is clicked? 【发布时间】:2015-12-05 05:25:01 【问题描述】:当键盘处于文本视图的编辑模式时,我试图移除键盘。我在主视图上添加了点击手势。但是当编辑模式为文本字段时,键盘被移除,但编辑模式为对于 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 协议。
【问题讨论】:
@deepal kumar,现在试试我的答案,我已经编辑过,我试过了,效果很好 您找到解决方案了吗??如果没有,请告诉我会尽力解决您的问题 现在试试我的答案 我已经更新了,我试过了 【参考方案1】:删除 setUserInteractionEnabled =true 的代码,你不需要那个
并将其添加到您的函数中
-(void)handleSingleTap:(UITapGestureRecognizer *)recognizer
[self.view endEditing:YES];
或者你可以使用库 TPKeyboardAvoiding ,设置为滚动视图..当你点击视图时它的自动关闭键盘..所以你不需要那个 UITapGestureRecognizer
【讨论】:
【参考方案2】:-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
[[self view] endEditing:YES];
当给定阶段有新的或更改的触摸时,应用程序对象会调用这些方法之一。每个方法都有两个参数:一组触摸和一个事件。
欲了解更多信息Click here
【讨论】:
【参考方案3】:我认为你只输入了textview resingFirstresponder
。
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
[self.txt_username resignFirstResponder];
使用它。
【讨论】:
以上是关于单击uiview时如何从textview中删除键盘?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Apple 键盘听写中删除 TextView 中的蓝色虚线建议下划线?
我将如何在按钮单击时从 uiview 中删除 UIBezierPath。?