IOS动态创建控件通过tag处理单击事件
来源:互联网 发布:2016年1月非农数据 编辑:程序博客网 时间:2024/04/30 03:05
1.在开发中,我们很多时候需要动态创建控件.在创建控件的时候给控件设置一个tag值,利用这个tag值来操作控件.
2.创建控件一般要设置控件的大小和位置,这两个属性是最重要的.最后利用addSubview:方法将控件添加到指定的容器即可.
3.通过tag获取控件然后操作控件的属性等,我们可以遍历父控件,通过tag找到指定的控件.
4.给按钮添加单击事件要利用addTarget:(id) action:(sel) forControlEvents:UIControlEvents)方法,这个方法有3个参数,第一个是参数是id,即要调用方法的那个控件;第二个参数是sel,即要执行的方法,因为是SEL类型,所以要利用@selector(方法名);第三个参数是给该控件添加的事件,如UIControlEventTouchUpInside单击事件.
以下是实操代码
@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /** * 创建一个UILabel控件并设置UILabel的属性 */ UILabel *label1 = [[UILabel alloc]init]; label1.frame = CGRectMake(100, 100, 100, 60); label1.text = @"hello man!"; label1.backgroundColor = [UIColor redColor]; label1.textColor = [UIColor yellowColor]; label1.textAlignment = NSTextAlignmentCenter; label1.tag =1; //添加UILabel到view上 [self.view addSubview:label1]; /** * 创建一个UIButton控件,并设置button的属性 */ UIButton *btn = [[UIButton alloc]init]; btn.frame = CGRectMake(180, 180, 100, 100); btn.backgroundColor = [UIColor blueColor]; btn.tag = 2; [btn setTitle:@"修改" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; //添加UIButton到view上 [self.view addSubview:btn]; //动态给UIButton添加事件 [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];}//定义一个事件action- (IBAction)action:(UIButton *)sender{ //根据tag的值确定点击的是哪个按钮,然后修改按钮的内容和字体颜色 if (sender.tag ==2) { [sender setTitle:@"点我干啥!" forState:UIControlStateNormal]; [sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; } //遍历view的所有控件,通过tag找到UILabel修改UILabel的位置 for (UIView *lb1 in self.view.subviews) { if (lb1.tag == 1) { //新建一个CGRect保存lb1的frame,通过修改CGRect的origin然后将新的\ 坐标赋值给lb1达到修改坐标的目的 CGRect frame1 =lb1.frame; frame1.origin.x = 80; frame1.origin.y = 80; lb1.frame = frame1; } }}@end
0 0
- IOS动态创建控件通过tag处理单击事件
- 动态创建控件及控件的事件处理
- C#中动态创建控件及事件处理程序
- C#中动态创建控件及事件处理程序
- C#中动态创建控件及事件处理程序
- Android 动态创建Android控件、绑定事件处理的新方法
- IOS 代码创建控件,并有处理事件
- MFC中,动态创建的静态文本框响应单击事件
- 使用代码动态添加、删除view,通过tag寻找控件
- 单击事件处理
- 【Swift】通过tag删除动态创建的UIButton
- ios中UITabBarController单击(双击)处理事件
- (iOS开发)IOS7 通过tag找不到UITableViewCell的子控件
- iOS通过tag值找不到对应的控件
- C#中动态创建控件及事件处理程序、置于顶层
- android listView 控件单击事件
- 动态创建带事件的控件
- 动态创建控件支持事件响应
- 数据结构——二叉树的实现
- html头部
- 大话设计模式之模板方法模式(Java版实现)考生做试卷问题
- java跳出多重循环
- 如何让你的开发团队成为虎狼之师?
- IOS动态创建控件通过tag处理单击事件
- stack
- 山重水复疑无路
- 转ecshop验证码错误问题
- 看起来好难越过去的坎
- 旅行商问题(深度优先搜索 回溯法 排列树)
- 训练深度模型的优化问题(十三)
- 出游
- 《算法竞赛入门经典2ndEdition 》例题5-1 大理石在哪儿(Where is the marble?, Uva10474)