我写了一个按钮,下面的代码为iOS8上的应用:UIButton的图像不是Hightlight更改或选择状态
UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setFrame:CGRectMake(40, 30, 30, 30)];
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_close.png"]forState:UIControlStateNormal];
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_close_on.png"] forState:UIControlStateHighlighted|UIControlStateSelected];
[btnBack addTarget:self action:@selector(btnBackClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnBack];
而且方法时点击:
-(void) btnBackClick:(id)sender{
[self.navigationController popToRootViewControllerAnimated:YES];
}
然而,背景当点击按钮时,图像不会改变。唯一的影响是灰色。
如果我在xib文件上绘制该按钮,图像更改就像一个魅力。
有什么问题吗?请帮忙。
这神奇的作品就像一个魅力。非常感谢你。你能解释一下为什么吗? – 2014-12-02 11:44:06
其实它不是检查枚举值(UIControlState)的正确过程。所以,起初我已将按钮设置为选定状态。请检查我更新的答案。它比以前更有价值。 – Monikanta 2014-12-03 07:01:43
诀窍是:即使初始化按钮和setSelected:YES,但按钮在添加到视图中时仍会返回到正常状态。所以你原来的建议代码有效。 – 2014-12-04 03:31:30