UITableViewcell
先自定义一个属性
@property(nonatomic, retain) UITableView *tableView;
在.h中遵循协议,有两个协议需要遵循
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>
@end
UITableViewDataSource里面有两个必须实现的方法
<span style="font-size:14px;color:#000000;">//分区行数,
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
//cell,可以用系统定义好的cell,也可以用自定义的cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;</span>
<span style="color:#000000;">//初始化方法
self.tableView = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];
//背景颜色
self.tableView.backgroundColor = [UIColor grayColor];
//分界线颜色
self.tableView.separatorColor = [UIColor cyanColor];
//设置代理,两个代理
self.tableView.dataSource = self;
self.tableView.delegate = self;</span>
配合UITableViewCell使用,计算cell高度
//计算文本高度的核心方法
//boundingRectWithSize:当获取指定文字高度的时候需要一个cgsize类型的参数,需要让这个文字在限定的宽度和高度区域内显示,通常宽度和高度显示的lable的宽度保持一致,高度尽可能的设置高一点
//options:实现显示的方式
//attributes:设置文字相关的一些属性,当设置文字字体大小时需要跟将要显示的label字体保持一致
//context:文本绘制的上下文,一般不需要做设置,直接写nil
CGRect textRect = [carIntroduce boundingRectWithSize:CGSizeMake(kWidth * 0.75, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]} context:nil];
根据计算CGRect计算出来的高度去改变cell的高度,就能把所需要的东西都显示出来
计算cell自定义高度的方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;