Это, вероятно, моя глупая ошибка, но у меня есть 3 кнопки UI, 2 из которых скрыты по умолчанию, и 1, которая должна отображать 2 других при нажатии. Я вызываю этот метод в моем viewDidLoad:
-(void) initButtons
{
self.checkbutton = [[UIButton alloc] initWithFrame:CGRectMake(20, 330, 80, 70)];
self.checkbutton.backgroundColor = [UIColor clearColor];
[self.checkbutton setBackgroundImage:[UIImage imageNamed:@"checkbutton"] forState:UIControlStateNormal];
self.checkbutton.enabled = NO;
self.checkbutton.alpha = 0.0;
[self.view addSubview:self.checkbutton];
self.xbutton = [[UIButton alloc] initWithFrame:CGRectMake(230, 330, 70, 70)];
self.xbutton.backgroundColor = [UIColor clearColor];
[self.xbutton setBackgroundImage:[UIImage imageNamed:@"X.png"] forState:UIControlStateNormal];
self.xbutton.enabled = NO;
self.xbutton.alpha = 0.0;
[self.view addSubview:self.xbutton];
}
И когда моя видимая кнопка нажата, этот метод называется:
-(void) showbuttons
{
self.checkbutton.enabled = YES;
[[self checkbutton] setAlpha:1.0];
self.xbutton.enabled = YES;
[[self xbutton] setAlpha:1.0];
NSLog(@"xbutton alpha: %f", [[self xbutton] alpha]);
NSLog(@"checkbutton alpha: %f", [[self checkbutton] alpha]);
}
Что происходит, когда я нажимаю видимую кнопку, появляется только 1 кнопка. (xbutton) Они должны быть закодированы точно так же, я не знаю, что не так. Имеющиеся у меня NSLogs показывают, что обе кнопки имеют альфа-значение 1,0. Я уверен, что я @ проверял и @ синтезировал флажок правильно, это так же, как кнопка x.
Что я делаю не так?
Кроме того, дополнительный вопрос: в чем разница между [checkbutton setAlpha]
и [self.checkbutton setAlpha]
?
Тьфу ... Моя вина. Мое изображение было названо checkmark.png, а не checkbutton.png. Спасибо @DanielRHicks за ответ на мой дополнительный вопрос.