已修复。我必须清除 IB 中按钮的背景图像。
我的 View 中有两个按钮,它们应该根据 if 语句使用不同的图像。我在 IB 中创建了按钮(并设置了它们的大小、约束),但我想在 viewDidLoad
中更改它们的外观。我做了一个方法来处理变化,但不幸的是它不起作用。当我运行该应用程序时,我可以记录正确的 NSLog,但没有任何变化。看来我的 setImage: forState:
方法无法覆盖 Storyboard 选项。有人知道我做错了什么吗?
- (void)viewDidLoad {
[super viewDidLoad];
[self setButtonLayout];
}
- (void) setButtonLayout {
if ([[PFUser currentUser][@"status"] isEqualToString:@"active"]) {
[self.bttn1 setImage:[UIImage imageNamed:@"01-normal.png"] forState:UIControlStateNormal];
[self.bttn1 setImage:[UIImage imageNamed:@"01-selected.png"] forState:UIControlStateSelected];
[self.bttn2 setImage:[UIImage imageNamed:@"02-normal.png"] forState:UIControlStateNormal];
[self.bttn2 setImage:[UIImage imageNamed:@"02-selected.png"] forState:UIControlStateSelected];
NSLog(@"1. BUTTON");
}
if ([[PFUser currentUser][@"status"] isEqualToString:@"inactive"]) {
[self.bttn3 setImage:[UIImage imageNamed:@"03-normal.png"] forState:UIControlStateNormal];
[self.bttn3 setImage:[UIImage imageNamed:@"03-selected.png"] forState:UIControlStateSelected];
[self.bttn4 setImage:[UIImage imageNamed:@"04-normal.png"] forState:UIControlStateNormal];
[self.bttn4 setImage:[UIImage imageNamed:@"04-selected.png"] forState:UIControlStateSelected];
NSLog(@"2. BUTTON");
}
}
最佳答案
尝试将您的初始化从 viewWillLoad 方法移动到 viewWillAppear: 方法。
关于ios - 无法以编程方式覆盖 UIButton 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081348/