下面的代码执行我想要的所有内容(将editButton标题和颜色从正常颜色"编辑"更改为红色"取消"并在按下时返回,除非当editButton显示红色"取消"并按下sendButton时,我想要editButton再次显示正常颜色"编辑".
我做错了什么,或者我还需要做些什么吗?
谢谢,
约翰
- (IBAction)sendClicked:(id)sender {
if (dontCheck) {
dontCheck = NO;
[editButton setTitle:@"Edit" forState:UIControlStateNormal];
[editButton setTitleColor:[[sendButton titleLabel] textColor] forState:UIControlStateNormal];
}
// ...
}
- (IBAction)editClicked:(id)sender {
if (dontCheck) {
dontCheck = NO;
dataLoaded = NO;
[sender setTitle:@"Edit" forState:UIControlStateNormal];
[sender setTitleColor:[[submitButton titleLabel] textColor] forState:UIControlStateNormal];
} else {
dontCheck = YES;
[sender setTitle:@"Cancel" forState:UIControlStateNormal];
[sender setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
这对我不起作用:(我确实在xib文件中进行了必要的更改.)
- (IBAction)sendClicked:(id)sender {
if (dontCheck) {
dontCheck = NO;
[editButton setTitle:@"Edit" forState:UIControlStateNormal];
[editButton setTitleColor:[[submitButton titleLabel] textColor] forState:UIControlStateNormal];
[editButton setSelected:NO];
}
// ...
}
- (IBAction)editClicked:(id)sender {
if (dontCheck) {
dontCheck = NO;
dataLoaded = NO;
[sender setTitle:@"Edit" forState:UIControlStateNormal];
[sender setTitleColor:[[submitButton titleLabel] textColor] forState:UIControlStateNormal];
[editButton setSelected:NO`];
} else {
dontCheck = YES;
[sender setTitle:@"Cancel" forState:UIControlStateSelected];
[sender setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
[editButton setSelected:YES];
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
您可以为不同的状态设置不同的颜色,例如突出显示,选择,禁用.然后,您无需更改按钮目标操作中的颜色.它还允许您简单地调用任何这些方法来更改按钮状态和外观:
[editButton setDisabled:YES];
Run Code Online (Sandbox Code Playgroud)
要么
[editButton setSelected:YES];
Run Code Online (Sandbox Code Playgroud)
要为不同的状态设置颜色:
[editButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[editButton setTitleColor:[UIColor purpleColor] forState:UIControlStateHighlighted];
[editButton setTitleColor:[UIColor greenColor] forState:UIControlStateSelected];
[editButton setTitleColor:[UIColor grayColor] forState:UIControlStateDisabled];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14917 次 |
| 最近记录: |