Ios Swift:在iPhone上启用“解除键盘”按钮?

Ios Swift:在iPhone上启用“解除键盘”按钮?,ios,swift,uitextview,Ios,Swift,Uitextview,我看到许多帖子,例如,关于如何在点击返回按钮后使键盘消失,或通过在UITextView外部单击并随后重新指定第一响应者,和/或将endEditing设置为true。这不是我想做的;我既不想使用返回键—我希望用户能够使用返回键向他们在UITextView中输入的文本中实际添加换行符—也不想强制用户单击外部以关闭键盘 在iPad上有一个自动关闭键盘的按钮,作为键盘本身的一部分,它会自动关闭键盘。它通常位于键盘的右下角,右shift键的下方,是一个键盘的小图片,上面有一个向下箭头 如何在iPhone上

我看到许多帖子,例如,关于如何在点击返回按钮后使键盘消失,或通过在UITextView外部单击并随后重新指定第一响应者,和/或将endEditing设置为true。这不是我想做的;我既不想使用返回键—我希望用户能够使用返回键向他们在UITextView中输入的文本中实际添加换行符—也不想强制用户单击外部以关闭键盘

在iPad上有一个自动关闭键盘的按钮,作为键盘本身的一部分,它会自动关闭键盘。它通常位于键盘的右下角,右shift键的下方,是一个键盘的小图片,上面有一个向下箭头

如何在iPhone上启用此按钮,即使显示的键盘也包含“关闭”按钮

这篇文章:似乎主张在键盘顶部添加工具栏。有没有一种方法可以简单地选择一个包含“取消按键”选项的可选键盘,类似于在需要电子邮件地址时在主键盘屏幕上提供带有@的键盘

谢谢


PS-为清晰起见:我不想将返回键设置为按完成,我想将其保留为返回键。如果这是唯一的方法,我愿意添加一个额外的UIButton,但似乎应该有一个键盘选项,除了返回键之外,还包括一个Discover按钮。

我很遗憾地说,对您的请求的正确答案是,没有可能的方法来做您想要的事情


正如您从研究中获得的,社区已经找到了很多解决方法,但这就是我们所拥有的。

添加一个通知,当键盘即将显示时将触发该通知

然后自定义一个视图,在这里您可以将其更改为您的按钮

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeContentViewPoint:) name:UIKeyboardWillShowNotification object:nil];

- (void) changeContentViewPoint:(NSNotification *)notification{
    NSDictionary *userInfo = [notification userInfo];
    NSValue *value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGFloat keyBoardEndY = value.CGRectValue.origin.y;  // get the y of the keyboard

    NSNumber *duration = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
    NSNumber *curve = [userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];

    // add animation, make your view move as the keyboard moves
    [UIView animateWithDuration:duration.doubleValue animations:^{
        [UIView setAnimationBeginsFromCurrentState:YES];
        [UIView setAnimationCurve:[curve intValue]];

        _mainView.center = CGPointMake(_mainView.center.x, keyBoardEndY - STATUS_BAR_HEIGHT - _mainView.bounds.size.height/2.0);   // keyBoardEndY including the height of the status bar, so get rid of this height. 

    }];



}

谢谢我注意到一些应用程序,例如消息,使用向下滑动的手势来关闭键盘,所以我想我会实现这一点。