iOS:带主标题、副标题、图像类型的表格视图UITableView

iOS:带主标题、副标题、图像类型的表格视图UITableView

大家好,又见面了,我是全栈君。

  制作一个通讯录,包括姓名、电话、头像,将表格视图类型设置为UITableViewCellStyleSubtitle

效果图:

iOS:带主标题、副标题、图像类型的表格视图UITableView

//创建一个联系人的类,初始化数据

iOS:带主标题、副标题、图像类型的表格视图UITableView

 

iOS:带主标题、副标题、图像类型的表格视图UITableView

 

  在视图控制器中实现表格内容的显示

复制代码
 1 #import "ViewController.h"
 2 #import "Contact.h"
 3 #define NUM 20
 4 
 5 @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
 6 @property (weak, nonatomic) IBOutlet UITableView *tableView;
 7 @property (strong,nonatomic)NSMutableArray *contacts; //联系人数组
 8 @end
 9 
10 @implementation ViewController
11 
12 - (void)viewDidLoad
13 {
14     [super viewDidLoad];
15     //初始化
16     for(int i=0; i<NUM; i++)
17     {
18         Contact *contact = [[Contact alloc]initWithContactName:[NSString stringWithFormat:@"name%d",i] andTelPhoneNumber:[NSString stringWithFormat:@"tel:1876645%04d",arc4random_uniform(NUM)]];
19         [self.contacts addObject:contact];
20     }
21     
22     //设置数据源和代理
23     self.tableView.dataSource = self;
24     self.tableView.delegate = self;
25 }
26 
27 #pragma mark -tableView的数据源方法
28 //每一个section有多少行
29 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
30 {
31     return self.contacts.count;
32 }
33 //设置每一个单元格的内容
34 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
35 {
36     //1.根据reuseIdentifier,先到对象池中去找重用的单元格对象
37     static NSString *reuseIdentifier = @"contactCell";
38     UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
39     //2.如果没有找到,自己创建单元格对象
40     if(cell == nil)
41     {
42         cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
43     }
44     
45     //3.设置单元格对象的内容
46     
47     //设置图像
48     [cell.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",arc4random_uniform(9)]]];
49     //设置主标题
50     cell.textLabel.text = [self.contacts[indexPath.row] contactName];
51     //设置副标题
52     cell.detailTextLabel.text = [self.contacts[indexPath.row] telphoneNumner];
53     
54     
55     //设置字体颜色
56     cell.textLabel.textColor = [UIColor orangeColor];
57     cell.detailTextLabel.textColor = [UIColor blueColor];
58     
59     return cell;
60 }
61 
62 #pragma mark -tableView的代理方法
63 //设置行高
64 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
65 {
66     return 70;
67 }
68 
69 //懒加载(重写get方法)
70 -(NSMutableArray*)contacts
71 {
72     if(!_contacts)
73     {
74         _contacts =  [NSMutableArray arrayWithCapacity:NUM];
75     }
76     return _contacts;
77 }
78 @end
复制代码

  所谓懒加载,就是当该对象做为具有特性的@property属性时,只有在需要该对象的时候,通过重写它的get方法进行创建,否则,不创建。

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!


本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4793052.html,如需转载请自行联系原作者

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108245.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • allowMultiQueries=true_python的list用法

    allowMultiQueries=true_python的list用法消息列表:消息 描述 WM_NOTIFICATION_CLICKED 控件被点击 WM_NOTIFICATION_RELEASED 控件被释放 WM_NOTIFICATION_MOVED_OUT 控件被点击,指针移出控件但没被释放 WM_NOTIFICATION_SEL_CHANGED 控件选中的内容被改变 常用函数LISTWHEEL_A…

    2022年10月8日
    2
  • “请在微信客户端打开链接”解决方案[通俗易懂]

    “请在微信客户端打开链接”解决方案[通俗易懂]1、“请在微信客户端打开链接”解决方案https://blog.csdn.net/weixin_41190571/article/details/829908392、微信调试工具无法点击授权按钮https://blog.csdn.net/Call_me_small_pure/article/details/801013073、微信web开发工具https://mp.weixin.qq.c…

    2022年5月6日
    295
  • 投影矩阵的推导_分块矩阵的行列式公式

    投影矩阵的推导_分块矩阵的行列式公式看了好几篇关于投影矩阵的文章,在z坐标的推导上,没有提到为什么z’和1/z成线性关系,而是通过结论中的投影矩阵,即已知z’=(zA+B)/w,并且x和x’,y和y’关系式中分母都有-z,所以w为-z,然后(-n,-f)映射到(-1,1),求出A、B,得到z’和z的关系。这是用结论去反推过程,过程再得到结论,这样的逻辑我觉得不对,我认为,应该是先得到x,y,z各自的关系式,才去构造出投影矩…

    2022年10月4日
    1
  • 睿智的目标检测23——Pytorch搭建SSD目标检测平台

    睿智的目标检测23——Pytorch搭建SSD目标检测平台睿智的目标检测23——Pytorch搭建SSD目标检测平台学习前言什么是SSD目标检测算法源码下载SSD实现思路一、预测部分1、主干网络介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分1、真实框的处理2、利用处理完的真实框与对应图片的预测结果计算loss训练自己的ssd模型学习前言一起来看看SSD的Pytorch实现吧,顺便训练一下自己的数据。什么是SSD目标检…

    2022年6月15日
    28
  • 电平转换电路_光耦电平转换电路图

    电平转换电路_光耦电平转换电路图一、概述​在硬件设计中有时候经常会遇到,主芯片引脚使用的1.8V、3.3V、5V等,连接外部接口芯片使用的3.3V、5V等,由于电平不匹配就必须进行电平转换。两个设备如果供电电压不一样,比如一个是3.3V,另一个是5V,那么在电平不匹配的情况下工作,会造成信号传输出错;如果二者电压相差较大,严重的可能会损坏芯片。二、设计1、晶体管构成的电平转换方法​

    2022年8月10日
    6
  • MQ入门总结(一)消息队列概念和使用场景

    MQ入门总结(一)消息队列概念和使用场景

    2021年11月3日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号