Leider wurde "AccessoryTypeForRowWithIndexPath" nicht weiter unterstützt.
Der Hinweis auf das unterschiedliche Verhalten (zwischen UITableViewCellAccessoryDisclosureIndicator und UITableViewCellAccessoryDetailDisclosureButton) ist, dass die Offenbarung nicht INDICATOR ‚Spur‘, während die Offenbarung BUTTON bedeutet ‚Spur‘.
Was würden Sie tun müssen, ist Ihre eigene Anerkennung an, wo der Nutzer in der Zelle angezapft und verwenden, die als Teil des zusätzlichen Code dann in Ihre
zu nennen
- (void)tableView:(UITableView*) tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath*) indexPath
Routine - das ist, was passiert, mit der Offenbarung KNOPF.
Sie möchten etwas wie einen UITapGestureRecognizer verwenden, der an eine AccessoryView in Ihrer benutzerdefinierten Zelle angehängt ist. Diese Sache ist normalerweise NIL, also müssten Sie ein UIView in die Zelle über IB hinzufügen oder programmgesteuert - Größe ändern - und verbinden Sie es mit Ihrem Zellobjekt. Dann würden Sie der Funktion - (id)initWithStyle:(UITableViewCellStyle) style reuseIdentifier:(NSString*) reuseIdentifier
Ihrer benutzerdefinierten Zelle Code hinzufügen.
Die allgemeine Idee wird unten gezeigt.
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]
initWithTarget:myAccessoryView action:@selector(didTap:)];
tapGesture.delegate = (id <UIGestureRecognizerDelegate>)myTableViewControllerDelegate;
[containerView addGestureRecognizer:tapGesture];
[tapGesture release];
Die ‚didTap:‘ -Funktion würde Ihr Code dann nach vorne oder einfach nur tun, was Sie in der anderen Routine getan haben könnte.
Es ist traurig, dass die drei verschiedenen Zubehörteile unterschiedlich behandelt werden. Also, wenn du kein riesiges blaues Ding in deiner Zelle haben willst, sieht es so aus, als müsstest du mit etwas zusätzlichen Code kommen, damit die Dinge so funktionieren, wie du es gerne hättest.
Ein Vorteil der Verwendung eines AccessoryView in Ihrer benutzerdefinierten Zelle besteht darin, dass Sie ein UIImageView in die Ansicht einfügen und dann ein Bild im UIImageView ablegen können - was bedeutet, dass Sie jedes Bild gegenüber der einfachen Offenbarung ">" verwenden können.