2010-11-20 7 views
0

Ich habe drei Tasten in meiner Mitte zentriert namens btn_easy, btn_medium, btn_hard. Ich möchte alle diese drei Tasten verstecken, wenn ich einen von ihnen klicken: My .h-Datei die Auslässe und Methode hat wie folgt definiert:objective-c ausblenden runde rect buttons

IBOutlet UIButton *btn_easy; 
    IBOutlet UIButton *btn_medium; 
    IBOutlet UIButton *btn_hard; 
    @property(nonatomic,retain) IBOutlet UIButton *btn_easy; 
    @property(nonatomic,retain) IBOutlet UIButton *btn_medium; 
    @property(nonatomic,retain) IBOutlet UIButton *btn_hard; 

    -(IBAction)buttonPressed:(id)sender; 

Nachdem diese IBOutlets in meinem .h-Datei definiert, I Interface Builder öffnen und Machen Sie die Connection Outlets von jeder Taste von der Referenzquelle "to be up inside" zum "File's Owner". Meine .m-Datei hat die folgende Synthese:

@synthesize btn_easy,btn_medium,btn_hard; 

Und ich habe die folgenden Methoden in meiner .m-Datei als auch versucht:

-(IBAction)buttonPressed:(id)sender{ 
    UIButton *button = (UIButton*)sender; 
    if([button.titleLabel.text isEqualToString:@"easy"]){ 
     NSLog(@"easy clicked"); 
    } 
    if([button.titleLabel.text isEqualToString:@"medium"]){ 
     NSLog(@"medium clicked"); 
    } 
    if([button.titleLabel.text isEqualToString:@"hard"]){ 
     NSLog(@"hard clicked"); 
    } 
    cover_page.hidden = YES; 
    btn_easy.hidden = YES; 
    btn_medium.hidden = YES; 
    btn_hard.hidden = YES; 
    loadingCover.hidden = YES; 
} 

aber keiner von ihnen scheint für das Verstecken Sie die Tasten zu arbeiten . Ich weiß, dass die Methode korrekt ausgeführt wird, da ich jedoch andere Funktionen in der Methode habe, die ordnungsgemäß ausgeführt werden, ist es nur das Ausblenden der Schaltfläche, das nicht funktioniert.

Bitte sagen Sie mir, was ich falsch mache ...

+0

hat nichts mit Xcode zu tun, also habe ich diese retagged. –

+1

Sind Sie sicher, dass Sie die Ausgänge für jede der Tasten ordnungsgemäß über IB verbunden haben, und dass die Aktion ButtonPressed wirklich aufgerufen wird? – cbranch

+0

Ich habe meinem OP weitere Erklärungen hinzugefügt – sadmicrowave

Antwort

2

Sie sicherstellen möchten, dass jeder Ihrer Tasten als IBOutlets deklariert sind,

Dann stellen Sie sicher, innerhalb Interface Builder, dass Ihr IBAction verbunden ist zu jeder Taste und Ihre IBOutlets sind mit jeder entsprechenden Taste verbunden.

Stattdessen versteckt der Verwendung der alpha/Opazität versuchen gesetzt wird auf 0

Sollte eine sehr einfache Lösung sein, und wenn dies nicht funktioniert, dann stelle ich mir es gibt einige andere Code mit den Tasten eine Schnittstelle, die Anhalten von diesem Ereignis passiert.

+0

Warum empfehlen Sie, die 'alpha'-Eigenschaft anstelle der' hidden' Eigenschaft zu ändern? – Rits

+0

Nun, ich glaube nicht, dass es einen Unterschied zwischen ihnen gibt, aber es war nur eine Idee, da dieses Problem nicht viele mögliche Lösungen zu haben scheint, aufgrund seiner Einfachheit, die ich versuchte, wie jede Möglichkeit, egal wie unwahrscheinlich . Mit anderen Worten, nur eines dieser Dinge, die Sie versuchen, um Funktionalität zu bekommen. Man weiß nie. –

+0

Ich habe mein OP aktualisiert, um andere Dinge zu zeigen, die ich ausprobiert habe und ausführlicher darüber, wie ich meine Connection Outlets erstellt habe. Bitte beraten ... – sadmicrowave

0

Verwenden Sie dies!

if([[YourButton titleForState:UIControlStateNormal] isEqualToString:@"Text"]) 
{ 

} 
else { 

}