UIButton没有正确设置alpha

时间:2011-09-16 00:23:59

标签: iphone objective-c uibutton

这可能是我的一个愚蠢的错误,但我有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)它们应该以完全相同的方式编码,我不知道什么是错的。我已经显示两个按钮的alpha值为1.0的NSLog。我确定@propertied和@synthesized checkbutton正确,它就像xbutton。

我做错了什么?

另外,一个附带问题:[checkbutton setAlpha][self.checkbutton setAlpha]之间有什么区别?

呃......我的错。我的图片名为checkmark.png而不是checkbutton.png。感谢@DanielRHicks回答我的问题。

2 个答案:

答案 0 :(得分:1)

隐藏和alpha是不同的

3个UI按钮,其中2个默认隐藏,1个用于在点击时显示其他2个。

你说它们默认是隐藏的

也许你应该尝试

self.checkbutton.hidden = NO

答案 1 :(得分:0)

您最初将隐藏属性设置为YES吗?如果是这样你也必须这样做

self.xbutton.hidden = NO
按钮上的