创建一个button
注意button只能通过类方法创建,不能使用alloc
该段代码添加在函数- (void)viewDidLoad 中
//通过类方法创建一个UIbuttonUIButton* 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 中
//通过类方法创建一个UIbuttonUIButton* 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{//创建一个可以显示图片的btnUIButton* 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] ;//通过类方法创建一个UIbuttonUIButton* 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{//创建一个可以显示图片的btnUIButton* 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(@"按钮释放!") ;
}
效果图:
按文字按钮效果图:
按图片按钮效果图: