如何在单击uiview时从textview中删除键盘?

时间:2015-12-05 05:25:01

标签: ios objective-c uiview

我正在尝试在文本视图的编辑模式下删除键盘。我在主视图上添加了点按手势。但是当编辑模式用于文本字段时单击,然后键盘被删除但是当编辑模式是对于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协议。

3 个答案:

答案 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];
}

使用它。