UITabelView图片加 label 显示
来源:互联网 发布:淘宝如何不打电话注册 编辑:程序博客网 时间:2024/06/13 08:44
//UITabelView 显示图片和 label (可以画一个图, 分好层)#import "ImageViewController.h"#import "Data.h"@interface ImageViewController () <UITableViewDataSource>//写成属性@property (nonatomic, copy )NSArray *imageArray, *labelArray;@property (nonatomic, copy)NSArray *dataArray;//将图片与 label, 合在一起@end//防止写错static NSString *identifier = @"abc";@implementation ImageViewController//属性写完, 每次都会释放.- (void)dealloc{ [_dataArray release]; [_labelArray release]; [_imageArray release]; [super dealloc];}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UITableView *tabView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStylePlain]; // tabView.backgroundColor = [UIColor yellowColor]; [self.view addSubview:tabView]; tabView.dataSource = self; [tabView registerClass:[UITableViewCell class] forCellReuseIdentifier: identifier]; //太小的话, 需要设置一下行高, rowheight tabView.rowHeight = 100; [tabView release]; //三种不同的方法, 2.3是将 OC 与 UI 结合 //1.因为如果设置为, 全局 或者 实例变量 数组也不知道什么时候释放, 所以设置为属性, 就可以避免这种问题. 每次程序结束时, 就会调用 dealloc 方法. self.imageArray = [[[NSArray alloc] initWithObjects:@"picture1.jpg",@"picture2.jpg",@"picture3.jpg",@"picture4.jpg",@"picture5.jpg",nil] autorelease];//加上@""就会变成对象 //或者写成语法糖, 便利构造器(3种方法) //不同文字 self.labelArray = @[@"你好, 我叫小芳", @"good morning", @"你真的好棒呀", @"yes, yes, you are right", @"好好学习. 天天向上"]; //2.一一对应(为了防止图片与 label 不能对应) /*. 语法糖创建的 key value, 一一对应 key:value NSDictionary *dic1 = @{@"image":@"picture1.jpg", @"label":@"你好, 我叫小芳"}; NSDictionary *dic2 = @{@"image":@"picture2.jpg", @"label":@"good morning"}; NSDictionary *dic3 = @{@"image":@"picture3.jpg", @"label":@"你真的好棒呀"}; NSDictionary *dic4 = @{@"image":@"picture4.jpg", @"label":@"yes, yes, you are right"}; NSDictionary *dic5 = @{@"image":@"picture5.jpg", @"label":@"好好学习. 天天向上"}; //数组里面放字典 self.dataArray = @[dic1, dic2, dic3, dic4, dic5]; //注: 字典,可以归类; 数组, 有序; 所以, 通常将两者结合在一起 */ //3.将字典转换为对象设置为对象 (字典与对象, 两者是可以相互转换的), 对象里面有两个属性, 所以创建了一个类 Data *data1 = [Data dataWithLabel:@"你好, 我叫小芳" image:@"picture1.jpg"]; Data *data2 = [Data dataWithLabel:@"good morning" image:@"picture2.jpg"]; Data *data3 = [Data dataWithLabel:@"你真的好棒呀" image:@"picture3.jpg"]; Data *data4 = [Data dataWithLabel:@"yes, yes, you are right" image:@"picture4.jpg"]; Data *data5 = [Data dataWithLabel:@"好好学习. 天天向上" image:@"picture5.jpg"]; self.dataArray = @[data1, data2, data3, data4, data5]; //4.从属性列表中, 读取数据.注意:最外层的类型(和第2种方法一样)!! //图片, label; 外面是数组; 数组里面每个元素是字典, 建立了 Data文件资源 //获取文件里面的所有资源, NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];//第二步 //因为最外层是:数组, 用数组结束文件里面的内容 self.dataArray = [NSArray arrayWithContentsOfFile:path];//第一步 NSLog(@"%@", self.dataArray);}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}#pragma mark - UITableViewDataSource//行数, 单元格, 是必须实现的!! 所以, 这两个方法必须都要写- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //注意: 参数 section, 就是分区, 也就是数组的下标, 获取属性值的时候, 一般用 self.属性 return self.dataArray.count;//会显示10行, 后面的点不了.优化, 以后再改, 不要在多次修改了}//该方法中, 返回值 UITableView内容; 参数1: 就是该tableView; 参数2:第几行- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier forIndexPath:indexPath];//方法 dequeueReuseableCellWithIdetifier //为了展示不同的图片 //2.注意: index 就是位置(有 section, row) NSDictionary *dic = self.dataArray[indexPath.row];//获取到字典(里面有很多的 key-value 对)// [dic objectForKey:@"image"];//通过 key 值, 找到值// dic[@"image"];// Data *data = self.dataArray[indexPath.row]; cell.imageView.image = [UIImage imageNamed:dic[@"image"]];//语法糖的特点// cell.imageView.image = [UIImage imageNamed:data.image]; cell.imageView.layer.cornerRadius = 50;//图片成为圆角 cell.imageView.clipsToBounds = YES;//多余的减掉 cell.textLabel.text = dic[@"label"];// cell.textLabel.text = data.label;//这是对象调用的方法 cell.textLabel.numberOfLines = 0;//自动换行 return cell;}@end
0 0
- UITabelView图片加 label 显示
- 图片上显示label
- Qt label显示图片
- Label显示图片
- Qt label 显示gif 图片
- QT中label显示图片
- UITabelView
- UITabelView
- ComboBox的label显示颜色或者图片
- Qt在Label上显示图片
- 如何在Label中显示图片
- 拖拽图片在Label上显示
- Qt---Label显示图片,自动设置大小
- pyqt 图片 用label的属性显示
- ios开发小知识点--显示label上加删除线
- WinForm中Label控件换行显示并加滚动条
- (图片显示加边框)
- 为UITabelView添加图片、描述、样式等等
- 【MYSQL】修改密码
- 互联网协议
- Linux中RPM包管理
- xwiki操作手册
- Oracle_shutdown immediate hang
- UITabelView图片加 label 显示
- 用R建立岭回归和lasso回归
- Git版本控制器的基本使用
- 【MySql】ERROR 1045 (28000): Access denied for user 'ambari'@'localhost' (using password: YES)
- $ is not defined
- 自然语言处理(1)——文本分词
- 【SAP综合】BDT和XO的应用心得
- Fast R-CNN
- iOS XML,JOSN数据解析