Ios 当用户触摸文本视图外部时关闭键盘

Ios 当用户触摸文本视图外部时关闭键盘,ios,objective-c,swift,uitextview,Ios,Objective C,Swift,Uitextview,我正在使用这种方法,但键盘没有隐藏 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [_myTextView resignFirstResponder]; } -(void)touchesbeated:(NSSet*)toucheevent:(UIEvent*)event{ [[u myTextView辞职第一响应者]; } 我怎么能简单地触摸键盘外部就不使用键盘呢。如果

我正在使用这种方法,但键盘没有隐藏

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
   [_myTextView resignFirstResponder];
}
-(void)touchesbeated:(NSSet*)toucheevent:(UIEvent*)event{
[[u myTextView辞职第一响应者];
}
我怎么能简单地触摸键盘外部就不使用键盘呢。如果解决方案同时适用于目标c和swift,那就太好了。谢谢

我在objective C中查询了scrollView中的textView。请解决。我已经搜索了,但没有找到离散解。

试试这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
     [self.yourScrollviewName endEditing:YES];
}
或者像这样使用

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [[event allTouches] anyObject];

    if (![[touch view] isKindOfClass:[UITextView class]]) {
        [self.view endEditing:YES];
        [self.yourScrollviewName endEditing:YES];
    }
    [super touchesBegan:touches withEvent:event];
}
上面的代码不起作用,请尝试此操作

- (void)viewDidLoad
{
    [super viewDidLoad];
   UITapGestureRecognizer  *resignView = [[UITapGestureRecognizer alloc]
                initWithTarget:self action:@selector(handleSingleTapforResign:)];
    resignView.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer: resignView];
}
忽略当前正在编辑的内容:

- (void) handleSingleTapforResign:(UITapGestureRecognizer *) sender
{
    [self.view endEditing:YES];
    [self.yourScrollviewName endEditing:YES];
}

我将self.view替换为self.myTextView(textView插座)。试过了。什么也没发生。键盘保持原样。在您的视图中,已在scrollview或普通视图中添加了scrollview@Sam-很抱歉延迟,网络已关闭,请检查更新的答案!谢谢你,伙计!