Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UIScrollView中实现键盘的ResignFirstResponder?_Ios_Xcode_Uiscrollview - Fatal编程技术网

Ios 如何在UIScrollView中实现键盘的ResignFirstResponder?

Ios 如何在UIScrollView中实现键盘的ResignFirstResponder?,ios,xcode,uiscrollview,Ios,Xcode,Uiscrollview,可能重复: 我正在我的应用程序中使用UIScrollView。我把几个文本字段和按钮。当他们触摸文本框外部时,我想隐藏我的键盘。(我的意思是他们将在uiscrollview上进行录制)。我试过很多东西。。。我使用UIgestureRecognitor,但它不工作。。。“帮助”请在您的视图中尝试以下代码 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event a

可能重复:


我正在我的应用程序中使用UIScrollView。我把几个文本字段和按钮。当他们触摸文本框外部时,我想隐藏我的键盘。(我的意思是他们将在uiscrollview上进行录制)。我试过很多东西。。。我使用UIgestureRecognitor,但它不工作。。。“帮助”

请在您的视图中尝试以下代码

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [[event allTouches] anyObject];
    if ([yourTextView isFirstResponder] && [touch view] != yourTextView) {
        [yourTextView resignFirstResponder];
    }
}

这是刚刚尝试过的解决方案,它是有效的。。希望有帮助

将以下代码添加到viewDidLoad中

-(void)viewDidLoad {
    //create a tapGesture which calls a removeKeyboard method
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeKeyboard)];

    tapGesture.cancelsTouchesInView = NO;

    [self.yourScrollView addGestureRecognizer:tapGesture];
}

-(void)removeKeyboard {
    [self.yourTextField resignFirstResponder];
}

希望有助于……

它不起作用。。。我复制了代码并用我的文本框进行了尝试。但它不起作用。我使用的不是您的TextView,而是我的textFieldName。您的代码有[touch view],但我使用的是覆盖整个UIView的UIScrollview。您的视图是否设置为UITextField的代理?我设置了scrollview.delegate=self;这是将scrollview设置为委托的正确方法吗?或者我应该改为查看?如何将UIView设置为我的委托?您的文本字段需要文件所有者(视图)的委托设置。您可以在Interface Builder中通过将代理拖动到“文件所有者”来完成此操作,如此屏幕截图所示。谢谢你,先生。。。你是救世主。。