这可能是我的一个愚蠢的错误,但我有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]
之间有什么区别?
答案 0 :(得分:1)
隐藏和alpha是不同的
3个UI按钮,其中2个默认隐藏,1个用于在点击时显示其他2个。
你说它们默认是隐藏的
也许你应该尝试
self.checkbutton.hidden = NO
答案 1 :(得分:0)
您最初将隐藏属性设置为YES吗?如果是这样你也必须这样做
self.xbutton.hidden = NO
按钮上的