Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更改按钮的背景图像?_Iphone_Objective C_Uibutton - Fatal编程技术网

Iphone 更改按钮的背景图像?

Iphone 更改按钮的背景图像?,iphone,objective-c,uibutton,Iphone,Objective C,Uibutton,大家好 我使用IB创建了两个自定义按钮,并设置了它们的背景图像。现在,我希望当用户选择一个按钮时,其背景图像应该更改,并且新的背景图像应该持续,直到用户按下另一个按钮。如何做到这一点?在这种情况下,您必须自己管理按钮的状态。 这意味着您应该为每个按钮保留一个BOOL成员,该按钮将说明是否选择了该按钮。 或者,如果一次只能选择一个按钮,则可以保留对所选按钮的引用。 在点击事件中,您应通过将最后选定按钮的图像更改为非选定图像,将当前选定按钮的图像更改为选定按钮图像来管理上述状态 您可以按如下方式更改

大家好


我使用IB创建了两个自定义按钮,并设置了它们的背景图像。现在,我希望当用户选择一个按钮时,其背景图像应该更改,并且新的背景图像应该持续,直到用户按下另一个按钮。如何做到这一点?

在这种情况下,您必须自己管理按钮的状态。
这意味着您应该为每个按钮保留一个BOOL成员,该按钮将说明是否选择了该按钮。
或者,如果一次只能选择一个按钮,则可以保留对所选按钮的引用。
在点击事件中,您应通过将最后选定按钮的图像更改为非选定图像,将当前选定按钮的图像更改为选定按钮图像来管理上述状态

您可以按如下方式更改图像:

[button setBackgroundImage:[UIImage imageNamed:@"selected_button.png"] forState:UIControlStateNormal];

可以结合使用两种方法来执行此操作:

- (void)setImage:(UIImage *)image forState:(UIControlState)state
使用
[self.button setImage:YOUR_IMAGE for state:UIControlStateSelected]调用它

然后您可以设置要选择的按钮<代码>[self.button设置状态:UIControlStateSelected]
。选择另一个按钮后,将状态设置回正常状态