2015-08-12 12 views
8

Mam niestandardowy UITableViewCell (.h, .m, .xib) zarejestrowany w UITableView.Konflikt w UIGestureRecognizer w komórce niestandardowej i usuwacz z CellIdentifier

Teraz potrzebuję użyć niestandardowego UIImage wewnątrz komórki i dołączyć do niego Gesture Recognizer (nie mogę użyć Uibutton). Problemem jest to, że jeśli w czasie wykonywania otrzymuję

Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: 'invalid nib registered for identifier (CustomCell) - 
nib must contain exactly one top level object which must be a UITableViewCell instance' 

jeśli usunąć gest komórka działa poprawnie, uważam, że to błąd kakao, ja teraz staram się instancję programowo, ale myślę, że problem jest rozpoznawania, że ​​gest jest na tym samym poziomie herarchy z TableViewCell w XIb

enter image description here

Czy znasz inny interfejs budowniczy obejście?

+0

Spełnione to samo. Czy masz jakieś dalsze odkrycie? – nickcheng

+0

@nickcheng nope, ale jest wiele innych pytań podniesionych z tego samego problemu, których nie zauważyłem, żadnych z odpowiedzią. Domyślam się, że to błąd lub zrobiono to celowo, aby uniknąć gestów w widoku tabeli (który już ma gest). Tak czy inaczej nie usprawiedliwione: / – jalone

Odpowiedz

5

Włączenie interakcji użytkownika na UIImage i dodawania programowo do rozpoznawania gestów w awakeFromNib działa

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)]; 
tap.cancelsTouchesInView = YES; 
tap.numberOfTapsRequired = 1; 
tap.delegate = self; 
[self.imagePicture addGestureRecognizer:tap]; 

Ale chciałbym wiedzieć, dlaczego to nie działa raczej. Będę czekać na przyjęcie.

Powiązane problemy