2010-11-20 1 views
0

У меня есть три кнопки с центром в моем представлении, называемые btn_easy, btn_medium, btn_hard. Я хочу, чтобы скрыть все эти три кнопки, когда я нажимаю одну из них: Мой .h файл имеет выходы и методы определяются следующим образом:Объектив-c скрыть круглые прямоугольные кнопки

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; 

После определения этих IBOutlets в моем файле .h открыть Interface Builder и сделайте выходы подключения от каждой кнопки от «досягаемой внутренней» контрольной розетки до «владельца файла». Мой файл .m имеет следующий синтез:

@synthesize btn_easy,btn_medium,btn_hard; 

И я попытался следующие методы в моем файле .m, а также:

-(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; 
} 

, но ни один из них, кажется, работает для скрытия кнопок , Я знаю, что метод выполняется правильно, однако, поскольку у меня есть другие функции внутри метода, которые выполняются правильно, это просто скрытие кнопки, которое не работает.

Пожалуйста, скажите мне, что я делаю неправильно ...

+0

не имеет ничего общего с Xcode, поэтому я retagged это. –

+1

Вы уверены, что правильно подключили розетки через IB для каждой из кнопок, и что кнопка «Нажатие» действительно вызывает вызов? – cbranch

+0

Я добавил дополнительные пояснения к своему OP – sadmicrowave

ответ

2

Вы хотите, чтобы убедиться, что каждый из ваших кнопок объявлены как IBOutlets,

Затем убедитесь, что в Interface Builder, что ваш IBAction подключен на каждую кнопку, и ваши IBOutlets подключены к каждой соответствующей кнопке.

Вместо того, чтобы использовать скрытый попробовать альфа/непрозрачности быть установлен в 0.

Должно быть очень просто исправить, и если это не сработает, то я предполагаю, что это какой-то другой код взаимодействия с теми кнопками, которые остановочных от этого события.

+0

Почему вы рекомендуете менять свойство 'alpha' вместо свойства' hidden'? – Rits

+0

Ну, я не верю, что между ними существует какая-то разница, однако это была всего лишь идея, так как эта проблема, похоже, не имеет много возможных решений из-за ее простоты, которую я старался выглядеть как каждая возможность, независимо от того, насколько маловероятно , Другими словами, просто одна из тех вещей, которые вы пытаетесь получить, чтобы получить функциональность. Никогда не знаешь. –

+0

Я обновил свой OP, чтобы показать другие вещи, которые я пробовал, и подробно расскажу о том, как я создал свои соединительные выходы. Пожалуйста, посоветуйте ... – sadmicrowave

0

Используйте это!

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

} 
else { 

}