Iphone UIButton:突出显示按钮状态时背景图像设置问题?
我有一个UIButton,我需要在点击按钮时更改按钮的图像。按钮的背景图像在ViewDidLoad方法中设置。请参考附在本帖上的图片Iphone UIButton:突出显示按钮状态时背景图像设置问题?,iphone,ios,ipad,uibutton,Iphone,Ios,Ipad,Uibutton,我有一个UIButton,我需要在点击按钮时更改按钮的图像。按钮的背景图像在ViewDidLoad方法中设置。请参考附在本帖上的图片 当我第一次点击按钮时,按钮属性将更改为selected,并且“arrow_right.png”图像将设置为我们的按钮 2.在第二次点击时,我观察到当按钮状态高亮显示,但其背景图像未设置。您可以看到一些模糊效果 我担心的是,当我切换UIButton时,图像并没有设置为高亮显示状态。当按钮的状态从选定变为正常时。 这是一个错误还是我的错误 多谢各位 - (void
- (void)viewDidLoad
{
[super viewDidLoad];
[testButton setBackgroundImage:[UIImage imageNamed:@"btn_normal.png"] forState:UIControlStateNormal];
[testButton setBackgroundImage:[UIImage imageNamed:@"btn_pressed.png"] forState:UIControlStateSelected];
[testButton setBackgroundImage:[UIImage imageNamed:@"btn_pressed.png"] forState:UIControlStateHighlighted];
}
- (IBAction)buttonPressed:(id)sender
{
UIButton *button = (UIButton*)sender;
button.selected = !button.selected;
if (button.selected)
{
[button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateSelected];
}
else
{
[button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateSelected];
}
}
试试这个
- (IBAction)buttonPressed:(id)sender
{
UIButton *button = (UIButton*)sender;
if(button.selected) {
[button setSelected:NO]
} else {
[button setSelected:YES]
}
}
我不明白为什么需要再次设置图像,只需设置其选定属性,按钮将按预期运行对不起,frd,我正在编辑我的帖子。很抱歉您的登录。我正在通过按钮更改所选属性。所选=!按钮。已选定;。我担心的是,当我切换UIButton时,图像并没有设置为高亮显示状态。当按钮的状态从选定变为正常时。