2015-08-12 3 views
8

Ich habe eine benutzerdefinierte UITableViewCell (. H,. M,. Xib) in einem UITableView registriert.Konflikt in UIGestureRecognizer in benutzerdefinierten Zelle und dequeueCellWithIdentifier

Jetzt muss ich ein benutzerdefiniertes UIImage in der Zelle verwenden und daran ein Gesture Recognizer anschließen (ich kann kein UIButton verwenden). Das Problem ist, dass, wenn es zur Laufzeit ich ein

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' 

bekommen, wenn ich die Geste der Zelle richtig funktioniert entfernen, ich glaube, es ist ein Kakao Fehler, werde ich jetzt versuchen, es programmatisch zu instanziieren, aber ich denke, das Problem ist, dass die Gestenerkenner auf dem gleichen herarchy Niveau des TableViewCell im xib

enter image description here

haben Sie andere Interface Builder Abhilfe wissen?

+0

Ich traf das Gleiche. Hast du weitere Entdeckungen? – nickcheng

+0

@nickcheng nein, aber es gibt viele viele andere Frage mit dem gleichen Problem aufgeworfen habe ich nicht bemerkt, keiner mit einer Antwort. Ich schätze, es ist ein Fehler oder absichtlich, um Gesten auf einer Tischansicht zu vermeiden (die bereits eine Geste hat). So oder so nicht begründbar: / – jalone

Antwort

5

Aktivieren der Benutzer-Interaktion auf der UIImage und programmatisch eine Gestenerkenner in der awakeFromNib Zugabe arbeitet

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

aber ich möchte den Grund wissen, warum es nicht eher in Betrieb ist. Ich werde warten, um zu akzeptieren.

Verwandte Themen