Hallo, ich versuche, den Text zu ändern, der in der Schaltfläche "Löschen" angezeigt wird, wenn ein Benutzer eine geeignete Ansichtszelle in meiner Tabellenansicht wischt.
Ich habe ein Beispiel in einem anderen Fragethread gesehen, das besagt, dass dieser Tableview-Delegat verwendet werden soll
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
Meine Frage ist, wie ich diese Methode verwende. Ich bin mir nicht sicher, wie ich diese verwenden soll.
iphone
ios
uitableview
delegates
C. Johns
quelle
quelle
self.tableView.deleteButton.name = @"Remove";
anstatt die Methode zu überschreiben?func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath:NSIndexPath) -> String{ return "Remove Me"; }
<UITableViewDelegate>
.In Swift ist es gleich, nur die Methodensignatur ist anders!
func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? { return "Erase" }
quelle
Geben Sie einfach die Zeichenfolge zurück, die Sie anzeigen möchten, anstatt sie zu löschen. Angenommen, Sie möchten "Löschen" für alle Zeilen anzeigen. Die obige Funktion sollte Folgendes enthalten:
return @"Erase";
Lesen Sie DIESES
Fügen Sie auch in Ihrer .h-Datei das UITableViewDelegate hinzu, falls Ihr View Controller noch kein UITableViewController ist. Das heißt, es kann entweder sein:
@interface SomeView : UIViewController <UITableViewDelegate>
ODER
@interface SomeView : UITableViewController
quelle
Swift 4.2
override func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? { return "Erase" }
quelle