Wie füge ich eine benutzerdefinierte Schaltfläche auf einem UITableViewCell
hinzu, und lösche dann die Zelle mit dieser Schaltfläche ohne Verwendung von Interface Builder und benutzerdefinierte Zelle?wie Sie eine Schaltfläche hinzufügen, ohne benutzerdefinierte Zelle auf einem UITableView zu verwenden?
Antwort
Wenn Sie wirklich wollen, eine benutzerdefinierte Schaltfläche OHNE Subklassifizieren hinzufügen möchten, fügen Sie einfach die Taste, um die content der Zelle:
[cell.contentView addSubview:customButton];
Sie können alle Eigenschaften der Schaltfläche fest: Rahmen, Ziel, Wähler, etc ... Ad verwendet dann den obigen Aufruf, um es der Zelle hinzuzufügen.
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
customButton.frame=//whatever
[customButton setImage:anImage forState:UIControlStateNormal];
[customButton setImage:anotherImage forState:UIControlStateHighlighted];
[customButton addTarget:self action:@selector(delete) forControlEvents: UIControlEventTouchUpInside];
//yadda, yadda, .....
Sie können Tag setzen auch
customButton.tag = 99999;
So können Sie es später finden:
UIButton *abutton = (UIButton*) [cell.contentView viewWithTag:99999];
Sie müssen entscheiden, wenn die Schaltfläche hinzufügen, vielleicht auf Zellenauswahl, vielleicht im Bearbeitungsmodus ... einfach den Code in die Delegate-Methode deiner Wahl legen.
Wenn der einzige Zweck der Schaltfläche das Löschen ist, sollten Sie in UITableViewDataSource
suchen, die eine Methode namens - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
hat. Implementieren Sie es wie folgt:
- (BOOL)tableView:(UITableView *)tableView
canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
Und dann implementieren:
- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
// Database removal code goes here...
}
diese Methoden zu verwenden, lassen Sie Ihre UITableViewController
implementieren das UITableViewDataSource
Protokoll von etwas zu tun, wie:
MyClass : UITableViewController <UITableViewDataSource>
in Ihrem Kopf Datei, und vergessen Sie nicht, die Datenquelle des ViewControllers auf self
zu setzen.
- 1. Fügen Sie benutzerdefinierte Zelle zu UITableView programmgesteuert
- 2. Wie benutzerdefinierte Bild zu Uitableview Zelle Swipe zum Löschen hinzufügen
- 3. UITableView Zelle hinzufügen Animation
- 4. Verwenden Sie verschiedene benutzerdefinierte Zelle für jeden Abschnitt in UITableView
- 5. Benutzerdefinierte Schaltfläche in einer Zeile in UITableView?
- 6. Hinzufügen einer Zeile zu UITableView, wenn eine Schaltfläche gedrückt wird
- 7. Xamarin.iOS UITableView, wie erzwingen Sie eine Zelle zu aktualisieren?
- 8. iPhone UITableView "Mehr" Zelle? Wie zu implementieren?
- 9. iphone UITableView Benutzerdefinierte Zelle ausgewählt Bild
- 10. Schaltfläche auf uitableview
- 11. Schaltfläche zu einem Bild hinzufügen
- 12. Hinzufügen einer Schaltfläche zu einem WPF DataGrid
- 13. Benutzerdefinierte UITableView-Zelle verursacht einen Fehler
- 14. Verzögerung beim Aktualisieren von UITableView benutzerdefinierte Zelle
- 15. iOS - Wie auf benutzerdefinierte Zelle zugreifen, wenn Griff Schaltfläche Ereignis in dieser Zelle?
- 16. Tippen Sie auf eine benutzerdefinierte Schaltfläche der UITableViewCell?
- 17. UITableView Zelle: selectedBackgroundView ohne Hintergrund anzuzeigenView
- 18. Fügen Sie benutzerdefinierte UITableViewCell auf Schaltfläche klicken
- 19. Wie Zelle wischen beim Klicken auf eine Schaltfläche
- 20. UITableView Benutzerdefinierte Bildlaufleiste
- 21. Radgrid CommandItemSettings benutzerdefinierte Schaltfläche hinzufügen
- 22. Benutzerdefinierte Tabellenansicht Zelle in Swift, ohne Storyboard
- 23. Eine benutzerdefinierte Schaltfläche auf Navigation
- 24. So rufen Sie eine Schaltfläche zum Hinzufügen einer Zielschaltfläche in einer UITableViewCell von UITableView auf?
- 25. Schaltfläche in (statischer) Zelle verschwindet, wenn Sie auf die Zelle selbst anstelle der Schaltfläche klicken
- 26. Dynamisches Hinzufügen von Daten zu einem UITableView
- 27. TinyMCE - Wie eine Schaltfläche hinzufügen, den Text mit einem Tag
- 28. Wie eine benutzerdefinierte UITableViewCell zu einem xib Datei Objective-C hinzufügen
- 29. Wie benutzerdefinierte benutzerdefinierte Schaltfläche in shopify Blog-Post hinzufügen
- 30. Hinzufügen Filter Schaltfläche zu UISearchController
Was ist mit Button Ich möchte all diese Dinge tun, wenn ich auf eine benutzerdefinierte Schaltfläche klicke und die Schaltfläche muss ohne Verwendung von Interface Builder und benutzerdefinierte Zelle erstellt werden. –
Die canEditRowAtIndexPath-Methode fügt automatisch eine Löschschaltfläche für jede Zeile im Bearbeitungsmodus hinzu. Probieren Sie es aus :) – tmadsen
aber ich möchte es mit einer benutzerdefinierten Schaltfläche tun. –