我知道这应该非常简单,但是因为我真的在这里和谷歌上搜索过而没有让我的代码工作,我会问。是的,我已经检查了相关的问题而且它们不起作用......
我只想在按下按钮时更改按钮的图像。
这是我的头文件:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *myButton;
@end
我的实施文件:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.myButton setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[self.myButton setImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateSelected];
}
@end
按钮是在Main.storyBoard中构建和连接的,我也尝试在属性检查器中进行,但两种方式都没有用!
请注意,我不是在寻找如何做突出显示状态而是选择。
答案 0 :(得分:6)
您需要从界面构建器设置每个州的图像,如果需要,您无需添加代码:
选择State Config
至Default
,然后选择图片
选择State Config
至Selected
,然后选择图片
现在测试按钮的每个状态:
您可以对背景图片执行相同操作,只需选择参数"Background"
答案 1 :(得分:1)
在状态配置中更改为IB构建器中所需的任何图像,并向该按钮添加操作,并在其中添加@Aladin所述的此行代码。
@IBAction func btnPressed (_ sender: UIButton) {
// If you want to change it for selected state when tapped.
sender.isSelected = !sender.isSelected
}
答案 2 :(得分:0)
为什么不尝试将背景图片默认设置为“normal.png”;
[self.mybutton setBackgroundImage:[UIImage imageNamed:@"normal.png"]];
执行按钮时切换到“selected.png”。
[self.mybutton setBackgroundImage:[UIImage imageNamed:@"selected.png"]];