Mam niestandardowy widok akcesoriów (UIButton) w mojej prototypowej komórce w serii ujęć. Po kliknięciu tego przycisku nie jest wywoływana metoda delegata dla naciśniętego przycisku akcesorium. Jeśli używam standardowego przycisku ujawniania, nazywa się to dobrze. Zakładam, że gdzieś brakuje mi haka. Ktoś wie gdzie?Niestandardowy widok akcesoriów na komórce prototypowej UITableView nie jest wypalany
Odpowiedz
Skończyłem pracować nad tym przy użyciu protokołu dla niestandardowych komórek tabeli.
CustomAccessoryTableCellDelegate.h
@protocol CustomAccessoryTableCellDelegate <NSObject>
@required
- (void) accessoryButtonTappedForCell: (UITableViewCell *) cell;
@end
CustomAccessoryViewTableCell.h
@interface CustomAccessoryViewTableCell : UITableViewCell
/** The custom accessory delegate. */
@property (nonatomic, weak) id<CustomAccessoryTableCellDelegate> delegate;
@end
CustomAccessoryViewTableCell.m
- (IBAction) buttonAction:(id)sender{
if ([self.delegate respondsToSelector:@selector(accessoryButtonTappedForCell:)]) {
[self.delegate accessoryButtonTappedForCell:self];
}
}
Wewnątrz Table View Controller
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath{
CustomAccessoryViewTableCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"MyCustomCell"];
cell.label.text = @"Some Name";
cell.delegate = self;
return cell;
}
#pragma mark - Custom Accessory View Delegate
- (void) accessoryButtonTappedForCell:(UITableViewCell *)cell{
[self tableView:self.writerTable
accessoryButtonTappedForRowWithIndexPath: [self.writerTable
indexPathForCell:cell]];
}
Guess 1: Tak naprawdę nie mają „zwyczaj akcesoriów widok” masz UIButton
który jest umieszczony gdzie akcesorium pójdzie. To nie wystrzeliłby przycisku dodatkowego kliknięcia akcesorium, ponieważ nie jest to naprawdę akcesorium.
Guess 2: Macie prawdziwe widok akcesoriów, ale to nigdy nie otrzymuję „kran” wydarzenie, ponieważ masz UIButton
w nim, który jest jedzenie interakcji użytkownika, ale nie wypalania działanie. W takim przypadku spróbuj zamiast tego dodać prosty UIView
.
Poza tym potrzebowałbym więcej informacji.
Próbowałem zamiast tego użyć widoku obrazu, który nie zrobił żadnej różnicy. Przycisk jest podłączony do właściwości accessoryView urządzenia UITableViewCell. Czy nie ma sposobu, aby programowo wywołać to z podklasy UITableViewCell? – smokingoyster
W swojej 'cellForRowAtIndexPath', po uzyskaniu komórki, sprawdź, czy twoja własność' accessoryView' ma odniesienie do twojego widoku lub czy jest 'nil'. Jeśli jest poprawnie skonfigurowany w IB, powinien istnieć. – DBD
Pokazuję przycisk/widok/cokolwiek tam mam. Wygląda na to, że obsługuje tylko zdarzenie dotknięcia na swoim zdefiniowanym typie widoku akcesoriów. I nie wydaje się być dobrym sposobem, aby zrobić to programowo z komórki tabeli. Skończyło się na zastosowaniu niestandardowego protokołu, na który odpowiem. – smokingoyster
docs Apple dla akcesoriów metody delegata mówi
Delegat zazwyczaj reaguje z kranu przycisku ujawnienia (akcesorium widzenia) przez wyświetlenie nowego widoku związane z wybranym wierszu. Ta metoda nie jest wywoływana, gdy ustawiony jest widok akcesoriów dla wiersza w indexPath.
, więc nie jest wymagany widok niestandardowych akcesoriów. to standardowe zachowanie.
- 1. Niestandardowy niestandardowy widok na Androida i niestandardowy widok
- 2. Niestandardowy UITableView Dynamiczny wzrost komórki
- 3. Niestandardowy widok nie pompuje
- 4. Niestandardowy UITableViewCell z widokiem układu automatycznego i akcesoriów
- 5. iOS8 - widok akcesoriów klawiatury z dynamiczną wysokością
- 6. Jak uzyskać przezroczysty widok akcesoriów w UITableViewCell? (w/Screenshot)
- 7. Widok niestandardowy nie daje marginesu
- 8. Dlaczego widok niestandardowy nie unieważnia?
- 9. UITableView Niestandardowy pasek przewijania
- 10. Modyfikowanie tekstu w statycznej komórce UITableView?
- 11. Pozwól użytkownikowi edytować tekst w komórce UITableView
- 12. Jak przeskalować niestandardowy widok (widok powierzchni)
- 13. Niestandardowy widok Django na stronę administratora
- 14. butterknife niestandardowy widok rozpiąć
- 15. Jak wyśrodkować niestandardowy widok na Androida?
- 16. Jak obsługiwać zdarzenie dotykowe na Uibuttonie dodanym w komórce UITableView?
- 17. Zmiana widoku usuwania akcesoriów w UITableViewCell
- 18. Jak programowo wyświetlić widok UITableView?
- 19. Gap powyżej NSMenuItem niestandardowy widok
- 20. Android: wykonaj przewijany widok niestandardowy
- 21. Widok niestandardowy kakao dla NSMenuItem
- 22. Jak utworzyć prosty niestandardowy widok?
- 23. UIBarButtonItem widok niestandardowy w UINavigationBar
- 24. Niestandardowy widok listy dla AlertDialog
- 25. iOS: Widok niestandardowy z Xib
- 26. Niestandardowy widok dla elementu menu
- 27. załaduj niestandardowy widok w MBProgressHUD
- 28. Niestandardowy identyfikator niestandardowy JavaScript nie jest przekazywany
- 29. UITableView w iOS 7 nie przewija do poprawnej lokalizacji podczas edycji UITextView w komórce
- 30. iPhone UITableView - akcja na akcesoria kliknij
Używam podklasy UITableViewCell i projektowanie komórki w programie budującym interfejs. Nie robię tego z kontrolera widoku tabeli. Muszę zawołać z tej podklasy. – smokingoyster