object-c 用代码创建button并实现点击事件

代码实现创建button的点击事件和button样式的调整。下面详细介绍:

//创建button
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
//设置button的title(文字部分)
[btn setTitle:@"点击" forState:UIControlStateNormal];
//设置button的image(图片部分)
[btn setImage: [UIImage imageNamed:@"text"] forState:UIControlStateNormal];
//设置btn的大小和位置
btn = [[UIButton alloc]initWithFrame:CGRectMake(0,20,20,20)];
//设置button的点击事件,其中click是点击事件实现的方法
[btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];  
//设置button的size,sizeToFit的作用是自动计算出btn的最优大小并进行设置
[btn sizeToFit];
[btn sizeThatFit]; //sizeThatFit的作用是自动计算出最优的size但不进行设置,可以通过frame.size设置。

点击事件的具体方法

-(void)click {
  NSLog(@"点击了btn");
}

sizeToFit和sizeThatFit的区别和具体实现方式

  • sizeToFit可以自动计算出btn的最优size,并进行设置改变。
  • sizeThatFit可以自动计算出btn的最优size,但是不能进行设置改变,可以通过frame.size进行设置。
[btn sizeToFit];
//将通过sizeThatFit计算出的btn的值赋给sizeThatFit
CGSize sizeThatFit = [btn sizeThatFits:CGSizeZero];
btn.frame = CGRectMake(btn.frame.origin.x, btn.frame.origin.y, sizeThatFit.width, sizeThatFit.height);
//btn.frame.origin.x :btn的x轴位置。  btn.frame.origin.y:btn的y轴的位置

你可能感兴趣的:(object-c 用代码创建button并实现点击事件)