iOS实现动态创建按钮

这个东西网上的文章很多了,这里是自己的实现过程。

动态添加按钮分两步实现:

1、在对应的视图的控制器的viewDidLoad方法中创建按钮,并且设置的它属性和响应方法
     a) 创建并初始化、设定按钮类型
     b) 设定title
     c) 设定尺寸(frame)
     d) 设定响应方法
2、实现按钮点击的响应方法,注意使用IBAction修饰返回值类型

代码:
//实现按钮响应方法,注意使用IBAction返回值类型
-(
IBAction)btnClick:(id)sender;{
    
//打印被点击按钮的currentTitle
    
NSLog(@"%@",((UIButton*)sender).currentTitle);
    
    
//创建alert对话框
    
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"我是响应的AlertView" message:@"我被点击了" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nilnil];
    
//显示对话框
    [alert 
show];
}

- (
void)viewDidLoad
{
    [
super viewDidLoad];
    
    
//创建一个圆角按钮
    
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    
//设定按钮的位置和尺寸,按钮高度不能为0,否则不能响应用户点击
    btn.
frame = CGRectMake(2050200, 30);
    
//设定显示文字和控制状态(被选中后高亮)
    [btn 
setTitle:@"我是按钮,点我吧" forState:UIControlStateNormal];
    
//添加响应方法,单击执行btnClick:方法
    [btn 
addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    
//添加到view上显示
    [
self.view addSubview:btn];
}

有个很惨痛的教训,使用CGRectMake 的时候,最后一个参数,也就是按钮高度给我了0,因为使用的是iOS7,按钮无边框,看不出任何外观上的问题,但是导致按钮根本不能接收用户的点击,无法响应,耽误了很长时间才发现,心情大坏啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值