【文件属性】:
文件名称:ios-自定义cell展开与收起.zip
文件大小:38KB
文件格式:ZIP
更新时间:2022-07-31 13:12:00
列表
代码很简单,注释也很详细,不做过多讲解。这里说下思路和重要方法。
思路:
1、cell高度的计算,通过富文本和boundingRectWithSize方法
2、点击“展开”/"收起"时,刷新这一个cell,然后会调用heightForRowAtIndexPath,返回此cell高度
关键代码:
// 计算文本高度
NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:16]};
NSStringDrawingOptions option = (NSStringDrawingOptions)(NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading);
// self.model.content:内容字符串
CGSize size = [self.model.content boundingRectWithSize:CGSizeMake(kWidth - 30, 0) options:option attributes:attribute context:nil].size;
[_contentLabel setFrame:CGRectMake(15, 30, kWidth - 30, size.height)];
【文件预览】:
ShowMoreText
----ShowMoreText.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(13KB)
--------xcuserdata()
----ShowMoreText()
--------AppDelegate.h(276B)
--------Base.lproj()
--------Model()
--------Assets.xcassets()
--------main.m(333B)
--------View()
--------Info.plist(1KB)
--------Others()
--------AppDelegate.m(2KB)
--------.DS_Store(6KB)
--------Controller()
----.DS_Store(6KB)