Ich erstellte eine benutzerdefinierte UITableViewCell
, und eine UITextView
wurde in diese Prototypzelle gelegt. Wenn ich auf diese Textansicht klicke, kann die Tastatur automatisch springen. Wenn ich jedoch die Tastatur verstecken möchte, muss ich auf Return
Schlüssel klicken. Es ist nicht sehr praktisch.UITextView in einer UITableViewCell, wie man Textview's FirstResponder zurücknimmt, wenn TableView scrollt?
Hier ist die Frage. Wie kann ich die TextView's firstResponder
zum Verstecken der Tastatur beim Scrollen der Tabellenansicht zurücktreten.
cellForRowAtIndex
Methode ist unten.
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
}
Hier sind einige Methoden, die ich implementiert habe.
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool{
if(text == "\n"){
textView.resignFirstResponder()
return false
}
return true
}
Und ich habe keine Ahnung, wie diese Methode zu implementieren.
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
}
'Selbst .view.endEditing (true) 'in Ihrem' scrollViewWillBeginDragging' erledigt die Aufgabe. – NSNoob