Ich habe eine UITableView
enthält UITableViewCell
enthält eine UITextView
.BecomeFirstResponder und geschätztRowHeight Inkompatibilität
wollte ich zwei Dinge:
- Benutzer Text in der
UITextView
eingeben und seine Dimension es wächst nach. - Wenn Benutzer auf Hinzufügen klicken, wird die
textView
First Responder.
1.Die erste Ziel wurde als umgesetzt:
self.tableView.estimatedRowHeight = 44
self.tableView.rowHeight = UITableViewAutomaticDimension
func textViewDidChange(textView: UITextView) {
tableView.beginUpdates()
tableView.endUpdates()
}
und es funktioniert gut
2.Für die zweite Sache, ich schrieb einfach:
@IBAction func addButton(sender: AnyObject) {
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MyCell
cell.cellTextView.resignFirstResponder()
cell.cellTextView.becomeFirstResponder()
}
und es funktioniert nicht ... :-(
Was ist noch mehr bi Zarre, ist das, wenn ich den ersten Block von Anweisungen lösche (besonders die estimatedRowHeight
Anweisung), die becomeFirstResponder
gut funktioniert.
Haben Sie irgendwelche Anhaltspunkte, um beide Funktionen auszuführen? Danke!
Sie sind nicht die Zelle aus Ihrem Tisch zu bekommen. Du entkommst/erschaffst eine neue Zelle. – Desdenova
1. wo ist dein Knopf in der Hierarchie, innerhalb der Zelle? 2. Wo nimmst du indexPath? –
1. Die Schaltfläche befindet sich außerhalb der Tabellenansicht. 2. Entschuldigung, ich habe einige Zeilen der Funktion gelöscht. Ich werde es aktualisieren – Nahouto