iPhone UIButton addTarget nicht funktioniert
In meinem iPhone app habe ich SPGameDesk : UIView
Klasse, schaffen es aus einer anderen Klasse wie:
SPGameDesk* gameDesk = [[SPGameDesk alloc] init];
[gameDesk createWithLevel:5];
[appWindow addSubview:gameDesk];
In meinem SPGameDesk
Klasse, eine Methode, die ich erstellen UIButtons
:
holesRow = [[NSMutableArray alloc] init];
for (int i=0; i<3; i++) {
[holesRow addObject:[[UIButton alloc] initWithFrame:CGRectMake((40*i)+5, 150, 30, 30)]];
[[holesRow objectAtIndex:i] setBackgroundColor:[UIColor blueColor]];
[[holesRow objectAtIndex:i] addTarget:self action:@selector(holeSelected:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview: [holesRow objectAtIndex:i]];
}
Und tiefer in SPGameDesk Klasse habe ich die Methode:
- (void)holeSelected:(id)sender {
NSLog(@"SELECTED");
}
Aber wenn ich berühre meine Taste, nichts passiert, wie einige andere UIView
deckt meine Taste (es gibt keine andere UIView
), oder wie SPGameDesk
hat userInteraction
deaktiviert (habe ich überprüft - ist es nicht).
Wo ist mein problem? Was sollte ich überprüfen?
- Sie können, Debuggen, um eine Fahrradtour durch die nach und sehen, was die Ziel-und Maßnahmen-Pointer sind (stellen Sie sicher, Sie sind nicht null und richtig.
- Sind Sie sicher, dass holesRow nicht irgendwo veröffentlicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist der Rahmen für Ihre gameDesk anzeigen? Wie es aussieht, könnte es sein, 0,0,0,0. Versuchen Sie, diese auf die Grenzen des übergeordneten Fensters. Verwenden initwithframe anstelle von init.