如何更改自定义按钮';在iOS中点击时的图像是什么?
我使用自定义按钮与图像。 通常,当我们点击按钮时,按钮的颜色已经改变 当我点击那个自定义按钮时,我想从自定义按钮更改图像 我怎样才能改变它如何更改自定义按钮';在iOS中点击时的图像是什么?,ios,button,Ios,Button,我使用自定义按钮与图像。 通常,当我们点击按钮时,按钮的颜色已经改变 当我点击那个自定义按钮时,我想从自定义按钮更改图像 我怎样才能改变它 谢谢。假设这是一个标准的UIButton,您可以在初始化按钮时执行以下操作: [btnObj setImage:[UIImage imageNamed:@"imgName.png"] forState:UIControlStateHighlighted]; 或对于背景图像: [btnObj setBackgroundImage:[UIImage image
谢谢。假设这是一个标准的UIButton,您可以在初始化按钮时执行以下操作:
[btnObj setImage:[UIImage imageNamed:@"imgName.png"] forState:UIControlStateHighlighted];
或对于背景图像:
[btnObj setBackgroundImage:[UIImage imageNamed:@"imgName.png"] forState:UIControlStateHighlighted];
您可以使用以下两种方法–setBackgroundImage:forState:
–setImage:forState:选中首先创建一个按钮作为视图控制器的成员变量。让我们称之为
UIButton*myButton
然后像这样初始化按钮,并将其图像设置为您希望它最初显示的图像:
myButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[myButton setImage:[UIImage imageNamed:@"OriginalImage"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(onClickMyButton) forControlEvents:UIControlEventTouchUpInside];
第三行是这样的,当点击按钮时,调用函数“onClickMyButton”。然后编写这个函数,将图像更改为“NewImage”:
-(void) onClickMyButton
{
[myButton setImage:[UIImage imageNamed:@"NewImage"] forState:UIControlStateNormal];
}
瞧!问题已解决:)首先为脚本中带有“btYesAction”和“btNoAction”的按钮创建对象 现在转到viewcontroller.m并粘贴下面的代码
<pre>
(IBAction)btYesAction:(id)sender {
UIButton *button = (UIButton *)sender;
button.selected = !button.selected;
[button setImage:[UIImage imageNamed:@"NO1.png"]
forState:UIControlStateSelected];
(iAction)bYesAction:(id)发件人{
UIButton*按钮=(UIButton*)发送器;
button.selected=!button.selected;
[按钮集图像:[UIImage ImageName:@“NO1.png”]
forState:uicontrol状态选择];
我是这样做的:
在某个地方,在我的情况下,ViewDidLoad
- (void)btnVolumeClicked : (UIButton *)sender{
if ([[NSUserDefaults standardUserDefaults]boolForKey:@"volume_control"]) {
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"volume_control"];
[[NSUserDefaults standardUserDefaults] synchronize];
}else{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"volume_control"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
[self selectedState];}
然后点击事件
-(void) selectedState{
if(![[NSUserDefaults standardUserDefaults]boolForKey:@"volume_control"]){
[btnVolume setImage:[UIImage imageWithIcon:@"fa-volume-up" backgroundColor:[UIColor clearColor] iconColor:clrPureBlueTint andSize:CGSizeMake(32, 32)] forState:UIControlStateNormal];
}else{
[btnVolume setImage:[UIImage imageWithIcon:@"fa-volume-off" backgroundColor:[UIColor clearColor] iconColor:[UIColor whiteColor] andSize:CGSizeMake(32, 32)] forState:UIControlStateNormal];
}}
在SelectedState方法中:
[btnVolume setImage:[UIImage imageNamed:@"NO1.png"]
forState:UIControlStateSelected];
我使用的字体很棒,但你可以简单地像这样设置按钮图像
yourButton.setImage(UIImage(named: "imgName"), for: .normal)
在Swift 3中:
yourButton.setBackgroundImage(UIImage(named: "imgName"), for: .normal)
或对于背景图像:
[btnObj setBackgroundImage:[UIImage imageNamed:@"imgName.png"] forState:UIControlStateHighlighted];
感谢您的完整回答!我唯一能找到的永久更改按钮图像的解决方案。所有列出的故事板解决方案都不起作用,也不只是使用插座并为高亮显示和选定状态设置差异图像。