storyboard里面实现的通讯录现在 用界面替换代码
新加入一个xib文件
1 #pragma mark 用xib创建一行并添加文字和头像 2 - (UIView *)createRowView 3 { 4 // 0.加载RowView文件,创建Objects数组按顺序包装所有控件到数组中返回 xib = nib app打包时候自动生成xib文件 5 NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:self options:nil]; 6 // 1.取出一行view 7 UIView *rowViews = views[0]; 8 // 2.设置头像 9 UIButton *imgBtn = (UIButton *)[rowViews viewWithTag:1]; 10 NSString *names = [NSString stringWithFormat:@"0%d.jpg",arc4random_uniform(9)]; 11 // 2.1设置头像按钮背景图 随机获取头像 12 [imgBtn setImage:[UIImage imageNamed:names] forState:UIControlStateNormal]; 13 // 2.2添加头像点击监听 14 [imgBtn addTarget:self action:@selector(iconClick:) forControlEvents:UIControlEventTouchUpInside]; 15 // 3.设置描述 16 UILabel *lab = (UILabel *)[rowViews viewWithTag:2]; 17 // 3.1随机获取描述信息 18 lab.text =_allNames[arc4random_uniform((int)_allNames.count)]; 19 // 4.设置删除按钮 20 UIButton *delBtn = (UIButton *)[rowViews viewWithTag:3]; 21 // 4.1添加删除点击监听 22 [delBtn addTarget:self action:@selector(delClick:) forControlEvents:UIControlEventTouchUpInside]; 23 return rowViews; 24 }
删除添加监听的第二种方式就是 连线 (要将控制器环境改为一致即可)
从xib窗体更改owner文件关联的class文件名字与storyboard.h里面继承名字一致
要更改加载解析xib加载方法 里面将owner属性改为当前窗体:self
1 // 0.加载RowView文件,创建Objects数组按顺序包装所有控件到数组中返回 xib = nib app打包时候自动生成xib文件 2 NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:self options:nil];
时间: 2024-10-07 20:07:32