ios - UITableViewCell 中的 UITextView,如何在 tableView 滚动时退出 textview 的 firstResponder?

标签 ios swift uitableview uitextview first-responder

我创建了一个自定义的 UITableViewCell,并将一个 UITextView 放入这个原型(prototype)单元格中。当我点击这个 textView 时,键盘会自动弹起。但是,如果我想隐藏键盘,则必须单击 Return 键。不太方便。

问题来了。 当我滚动 tableview 时,如何退出 textView 的 firstResponder 以隐藏键盘。

cellForRowAtIndex 方法如下。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = UITableViewCell()
    if(indexPath.section == 0){
        cell = self.tableView.dequeueReusableCellWithIdentifier("InputCell")!
        let textView = cell.viewWithTag(102) as! UITextView
        textView.editable = true
        textView.keyboardType = UIKeyboardType.Default
        textView.delegate = self
        textView.targetForAction(#selector(FeedBackViewController.getTextViewInsideCell(_:)), withSender: textView)
    }
    if(indexPath.section == 1){
        cell = self.tableView.dequeueReusableCellWithIdentifier("ConfirmButtonCell")!
        let label = cell.textLabel
        label?.text = "send"
        label?.textAlignment = NSTextAlignment.Center
        label?.textColor = UIColor.redColor()
    }
    return cell
}

以下是我实现的一些方法。

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool{
    if(text == "\n"){
        textView.resignFirstResponder()
        return false
    }
    return true
}

而且我不知道如何实现这个方法。

func scrollViewWillBeginDragging(scrollView: UIScrollView) {

}

最佳答案

你可以尝试在 viewDidLoad 上实现它,它会在 tableview 开始拖动时自动关闭键盘:

tableView.keyboardDismissMode = .Interactive.OnDrag

关于ios - UITableViewCell 中的 UITextView,如何在 tableView 滚动时退出 textview 的 firstResponder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39078754/

相关文章:

iphone - 如何创建iOS模拟器

iphone - 多节 UITableView 和 NSArray

android - Flutter - 像素溢出的不明原因

iphone - QLPreviewController 没有正确显示图片文件的图标

ios - 无法从 JSON 设置图像?

ios - 我已经为 UITableView 的单元格设置了值,但为什么它没有显示?

ios - 通过参数将数据从 Swift 中的 iOS 发送到 Rails 应用程序

ios - 无法在 iPad 上播放 YouTubePlayer View

iOS,重写 cellForRowAtIndexPath 以返回自定义单元格

iOS:如何在屏幕上对控件进行分组,例如在“设置”中?