博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS tableview中cell设置的注意事项
阅读量:4289 次
发布时间:2019-05-27

本文共 2025 字,大约阅读时间需要 6 分钟。

            /**

//             selectionStyle :设置选中样式

//             backgroundView:设置cell背景

//             

//     1. 当两个属性同时实现, backgroundView会起作用

//     2. iOS7以后,就是灰色,没有蓝色

//      3. 如果selectionStyle设置为None,backgroundView失效

//             */

//            

//            // 设置选中样式 -->蓝色iOS6默认颜色 -->iOS7以后,就是灰色

//            //cell.selectionStyle = UITableViewCellSelectionStyleBlue;

//            

//            // 设置左边的普通状态背景

//            cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_dropdown_leftpart"]];

//            

//            // 设置左边的选中状态背景

//            cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_dropdown_left_selected"]];

//        }

//        

//        //1. 获取模型

//        HMCategoryModel *categoryModel = self.categoryArray[indexPath.row];

//        

//        cell.textLabel.text = categoryModel.name;

//        

//        //2. 设置右边箭头 -->根据,有没有子分类数据来判断

//        if (categoryModel.subcategories.count) {

//            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

//        } else {

//            cell.accessoryType = UITableViewCellAccessoryNone;

//        }

//        

//        //3. 设置图标

//        cell.imageView.image = [UIImage imageNamed:categoryModel.icon];

//        

//        //4. 设置选中高亮图标

//        cell.imageView.highlightedImage = [UIImage imageNamed:categoryModel.highlighted_icon];

//        

++++++++在自定义的cell中要实现这个方法:

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{

    if(self=[superinitWithStyle:stylereuseIdentifier:reuseIdentifier]){

    [selfaddlblView];

    }

    returnself;

}

===========在普通的view中要实现这个方法

//-(instancetype)initWithFrame:(CGRect)frame{

//    if(self ==[super initWithFrame:frame]){

//    

//        [self addlblView];

//    }

//    return self;

//}

==============estimatedRowHeight

其实核心代码就有两句话,上代码

self.tableView.estimatedRowHeight = 44 ;//44为任意值

self.tableView.rowHeight = UITableViewAutomaticDimension;

记得第一次使用这个"黑科技"还是在一年多以前,后来几乎被我遗忘了,一年多以前正是iOS8的尾巴时期,属于一个新特性,因为这个只能适配iOS8+,如今已经是iOS10的阶段,我个人感觉使用起来完全没有兼容性问题,如果你的公司考虑的太多,慎用啊!!!

前提

这个"黑科技"的前提是,cell中的子控件的布局要使用autolayout,因为tableView的特性,子控件是由内向外布局的,所以预设高度是必须的.第二局句的作用如前面所述,是开启iOS 8的单元格的自适应高度特性。第一句代码也是同样的功能,estimatedRowHeight让你提供一个预先估计cell的高度值,这个值根本可以乱设(只要不为0),但如果你不写这句,或者将estimatedRowHeight属性设置为0,则iOS 8的单元格自动高度特性也不会生效.

转载地址:http://delgi.baihongyu.com/

你可能感兴趣的文章
视音频数据处理入门:H.264视频码流解析
查看>>
视音频数据处理入门:AAC音频码流解析
查看>>
视音频数据处理入门:UDP-RTP协议解析
查看>>
视音频数据处理入门:FLV封装格式解析
查看>>
最简单的基于FFMPEG的封装格式转换器(无编解码)
查看>>
base64 编码原理
查看>>
单链表是否有环的问题
查看>>
判断两个链表是否相交并找出交点
查看>>
归并排序
查看>>
STL常见问题
查看>>
time_wait和close_wait状态
查看>>
STL中vector、list、deque和map的区别
查看>>
Linux下多线程查看工具(pstree、ps、pstack)
查看>>
PID PPID LWP NLWP
查看>>
查看线程CPU占用情况
查看>>
查看个线程的CPU 内存占用
查看>>
Fiddler 教程
查看>>
apache 设置用户注意事项
查看>>
svn中设置文件夹链接
查看>>
find ./ -name "*.cgi" |xargs -i cp "{}" ./cgi-bin/
查看>>