一、拖拽控件法

拖拽添加一个Button Type 为custom,分别设置State config分别为Default, highlighted, selected.并分别选择Background为image全称。

 1 #import <UIKit/UIKit.h>
 2 
 3 @interface ViewController : UIViewController
 4 
 5 @property (nonatomic, strong) IBOutlet UIButton *btn;
 6 
 7 @end
 8 
 9 .m文件中
10 - (IBAction)btnSelected:(id)sender
11 {
12     UIButton *btn = (UIButton *)sender;
13     btn.selected = YES;
14 }
15 
16 完成操作

二、手写代码法

 1 //宏定义文件
 2 #ifndef Globaldefine_h
 3 #define Globaldefine_h
 4 
 5 #define SCREENWIDTH [[UIScreen mainScreen] bounds].size.width
 6 #define SCREENHEIGHT [[UIScreen mainScreen] bounds].size.height
 7 
 8 #endif /* Globaldefine_h */
 9 
10 
11 //视图控制器.h文件
12 #import <UIKit/UIKit.h>
13 
14 @interface ViewController : UIViewController
15 
16 @property (nonatomic, strong) IBOutlet UIButton *btn;
17 
18 @end
19 
20 #import "ViewController.h"
21 #import "Globaldefine.h"
22 
23 @interface ViewController ()
24 
25 @end
26 
27 @implementation ViewController
28 
29 - (void)viewDidLoad
30 {
31     [super viewDidLoad];
32     _btn = [UIButton buttonWithType:UIButtonTypeCustom];//按钮状态
33     _btn.frame = CGRectMake(SCREENWIDTH / 2 - 30, SCREENHEIGHT / 2 - 30, 60, 60);//设置按钮位置和大小
34     [_btn setBackgroundImage:[UIImage imageNamed:@"xmh.png"] forState:UIControlStateNormal];
35      [_btn setBackgroundImage:[UIImage imageNamed:@"wdh.png"] forState:UIControlStateHighlighted];
36      [_btn setBackgroundImage:[UIImage imageNamed:@"syh.png"] forState:UIControlStateSelected];
37     [self.view addSubview:_btn];
38     
39     
40     [_btn addTarget:self action:@selector(btnSelected:) forControlEvents:UIControlEventTouchUpInside];//@selector(btnSelected:)冒号就是把_btn传过去
41 }
42 - (void)btnSelected:(UIButton *)btn
43 {
44     if (btn.selected)
45     {
46         btn.selected = NO;
47     }
48     else
49     {
50         btn.selected = YES;
51     }
52 }
53 
54 - (void)didReceiveMemoryWarning {
55     [super didReceiveMemoryWarning];
56     // Dispose of any resources that can be recreated.
57 }
58 
59 @end