Ich habe UITableView mit benutzerdefinierten Zellen, die einen Player darstellen. Wenn ich einen neuen Player hinzufüge, wird ein neues Datenelement hinzugefügt und [UITableView reloadData] wird aufgerufen. Ein Teil der Zelle ist eine UITextView, die den Spielernamen enthält. Wie bringe ich die Tastatur dazu?Tastatur für Zelle in UITableView aufrufen?
Ich könnte nutzen Sie FirstFirstResponder, wenn ich Zugriff auf die UITextView in der Zelle hatte, aber es wurde noch nicht tatsächlich erstellt. Da reloadData die Erstellung der neuen Zelle noch nicht durchführt.
Jemand anderes muss dies vorher gelöst haben. Irgendwelche Tipps, wie man diese Arbeit macht, würde sehr geschätzt werden.
Mein Code-Schnipsel:
-(IBAction)addPlayerPressed:(id)sender {
Player *newPlayer = [Player alloc];
[players addObject:newPlayer];
[table reloadData];
// Scroll to bottom showing the new player location
NSIndexPath *scrollIndexPath = [NSIndexPath indexPathForRow:([players count] - 1) inSection:0];
[table scrollToRowAtIndexPath:scrollIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
// cell is always nil :(
PlayerTableCell *cell = (PlayerTableCell *)[table cellForRowAtIndexPath:scrollIndexPath]
[cell.nameField setfirstResponder];
}
Funktioniert jetzt perfekt! Danke für die Hilfe!!! –
Ich nehme das zurück, scheint diese Reparatur das UITableView ernsthaft zu brechen. Nach dem Hinzufügen und Entfernen von ein paar Zeilen wird das Display sehr verwirrt. Meine Datensätze und die tatsächlichen Zellen, die als gerendert gemeldet werden, erscheinen korrekt, aber das Display selbst zeigt doppelte Einträge. Durch Kommentieren des Codes, der die Tastatur anzeigt, wird die normale Funktionalität der App wiederhergestellt. :( –