创建一个button
注意button只能通过类方法创建,不能使用alloc
该段代码添加在函数- (void)viewDidLoad 中
//通过类方法创建一个UIbutton
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
//设置按钮的位置
btn.frame = CGRectMake(100, 100, 100, 100) ;
//设置按钮的文字内容
//P1:字符串类型,现实到按钮上的文字
//P2:设置文字显示的状态类型:UIControlStateNormal: 正常状态
[btn setTitle:@"按钮" forState:UIControlStateNormal] ;
//P2: UIControlStateHighlighted:按下状态
[btn setTitle:@"按钮按下" forState:UIControlStateHighlighted] ;
//设置背景颜色(蓝色)
btn.backgroundColor = [UIColor blueColor] ;
//设置按钮显示的颜色
//P1: 颜色
//P2: 状态
[btn setTitleColor: [UIColor redColor ] forState:UIControlStateNormal] ;
//设置按钮颜色
[btn setTitleColor: [UIColor grayColor] forState:UIControlStateHighlighted] ;
[self.view addSubview:btn] ;
向按钮添加事件函数
添加后的代码为:
同样,该段代码也添加在函数- (void)viewDidLoad 中
//通过类方法创建一个UIbutton
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
//设置按钮的位置
btn.frame = CGRectMake(100, 100, 100, 100) ;
//设置按钮的文字内容
//P1:字符串类型,现实到按钮上的文字
//P2:设置文字显示的状态类型:UIControlStateNormal: 正常状态
[btn setTitle:@"按钮" forState:UIControlStateNormal] ;
//P2: UIControlStateHighlighted:按下状态
[btn setTitle:@"按钮按下" forState:UIControlStateHighlighted] ;
//设置背景颜色
btn.backgroundColor = [UIColor blueColor] ;
//设置按钮显示的颜色
//P1: 颜色
//P2: 状态
[btn setTitleColor: [UIColor redColor ] forState:UIControlStateNormal] ;
//设置按钮颜色
[btn setTitleColor: [UIColor grayColor] forState:UIControlStateHighlighted] ;
//向按钮添加事件函数
//P1:
//P2:@selector(press): 函数对象,当按钮满足P3事件类型时, 调用函数
//P3:UIControlEventTouchDown 表示当按钮被按下
[btn addTarget: self action: @selector(press) forControlEvents: UIControlEventTouchDown] ;
//P3: UIControlEventTouchUpInside 表示当手指离开屏幕时并且手指的位置在按钮范围内触发事件
[btn addTarget: self action: @selector(free) forControlEvents: UIControlEventTouchUpInside] ;
[self.view addSubview:btn] ;
并且添加按钮触发函数:
//打印“按钮被按下”
-(void) press{
NSLog(@"按钮被按下") ;
}
//打印“按钮释放”
-(void) free{
NSLog(@"按钮释放!") ;
}
创建一个可以显示图片的button,注意,要在- (void)viewDidLoad 函数中添加 [self creatImageBtn] ; 否则无法调用创建图片按钮函数
-(void) creatImageBtn{
//创建一个可以显示图片的btn
UIButton* btnImage = [UIButton buttonWithType:UIButtonTypeCustom] ;
btnImage.frame = CGRectMake(100, 300, 200, 400) ;
UIImage* icon01 = [UIImage imageNamed:@"123.jpg"] ;
UIImage* icon02 = [UIImage imageNamed:@"3.jpg"] ;
[btnImage setImage:icon01 forState:UIControlStateNormal] ;
[btnImage setImage:icon02 forState:UIControlStateHighlighted] ;
[self.view addSubview:btnImage] ;
}
一个按钮, 一个图片按钮的总代码为:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self creatImageBtn] ;
//设置背景颜色为黑色
//self.view.backgroundColor = [UIColor whiteColor] ;
//通过类方法创建一个UIbutton
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
//设置按钮的位置
btn.frame = CGRectMake(100, 100, 100, 100) ;
//设置按钮的文字内容
//P1:字符串类型,现实到按钮上的文字
//P2:设置文字显示的状态类型:UIControlStateNormal: 正常状态
[btn setTitle:@"按钮" forState:UIControlStateNormal] ;
//P2: UIControlStateHighlighted:按下状态
[btn setTitle:@"按钮按下" forState:UIControlStateHighlighted] ;
//设置背景颜色
btn.backgroundColor = [UIColor blueColor] ;
//设置按钮显示的颜色
//P1: 颜色
//P2: 状态
[btn setTitleColor: [UIColor redColor ] forState:UIControlStateNormal] ;
//设置按钮颜色
[btn setTitleColor: [UIColor grayColor] forState:UIControlStateHighlighted] ;
//向按钮添加事件函数
//P1:
//P2:@selector(press): 函数对象,当按钮满足P3事件类型时, 调用函数
//P3:UIControlEventTouchDown 表示当按钮被按下
[btn addTarget: self action: @selector(press) forControlEvents: UIControlEventTouchDown] ;
//P3: UIControlEventTouchUpInside 表示当手指离开屏幕时并且手指的位置在按钮范围内触发事件
[btn addTarget: self action: @selector(free) forControlEvents: UIControlEventTouchUpInside] ;
[self.view addSubview:btn] ;
}
-(void) creatImageBtn{
//创建一个可以显示图片的btn
UIButton* btnImage = [UIButton buttonWithType:UIButtonTypeCustom] ;
btnImage.frame = CGRectMake(100, 300, 200, 400) ;
UIImage* icon01 = [UIImage imageNamed:@"123.jpg"] ;
UIImage* icon02 = [UIImage imageNamed:@"3.jpg"] ;
[btnImage setImage:icon01 forState:UIControlStateNormal] ;
[btnImage setImage:icon02 forState:UIControlStateHighlighted] ;
[self.view addSubview:btnImage] ;
}
-(void) press{
NSLog(@"按钮被按下") ;
}
-(void) free{
NSLog(@"按钮释放!") ;
}
效果图:
按文字按钮效果图:
按图片按钮效果图: