UILabel 根据内容的多少来计算label的frame
最近在项目中遇到了
Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:]
这个崩溃报错,并且真机调试 卡在了 mj_reloadData 那里,是苹果那些人跟 mj教授过不去么,是可忍孰不可忍,投诉,投诉,投诉!
在系统11上运行没问题, 系统10.3.3-iphone6-xcode9 报错.
解决办法
1 注释掉下面代码, 使用代理实现
tableView.sectionFooterHeight = 0.1;
tableView.sectionHeaderHeight = 0.1;
tableView.estimatedSectionHeaderHeight = 0.1;
tableView.estimatedSectionFooterHeight = 0.1;
2 或者把0.1 改成大于1的任意数都可以, 1.1 , 1.5
3 或者把0.1 改成0
有时候还会报错 section footer height must not be negative - provided height for section 0 is -0.000100
你明明在代理方法里面 设置了 正的值,但是它就偏偏给你说 你设置的是负值。
当iOS9或iOS8系统下使用func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat,如果return 值小于1会产生崩溃,iOS11和12则不会。
反正 这俩crash都是height在搞鬼,最初我们为了适应ios8、ios9. 给footer设置高度为0 系统不认,只好设置个0.00X 来。 但是随着新的版本的出现,这个0.00x要被废弃了。 而且我觉得 那个 tableView.estimatedSectionXXXHeight 也很鸡肋,基本用不到哦。
有不同看法欢迎评论区评论 190917
UILabel 根据内容的多少来计算label的frame的更多相关文章
- iOS-动态计算Label的高度
一. 要求 1.根据网络请求的回来的字符串内容,动态计算Label的高度. 二. 注意点 1. 要注意设置label 的 numberOfLines 为0; 2. MAXFLOAT 的作用. 设置高度 ...
- iOS开发小技巧--计算label的Size的方法总结
计算label的Size方法 sizeWithAttributes:方法 适用于不换行的情况,宽度不受限制的情况 /// 根据指定文本和字体计算尺寸 - (CGSize)sizeWithText:(N ...
- swift计算label动态宽度和高度
swift计算label动态宽度和高度 func getLabHeigh(labelStr:String,font:UIFont,width:CGFloat) -> CGFloat { let ...
- IOS UILabel 根据内容自适应高度
iOS Label 自适应高度 适配iOS7以后的版本 更多 self.contentLabelView = [[UILabel alloc] init]; self.contentLabelVie ...
- swift 计算label的行数方法
这主要针对是 cell上label自适应高度, let lineSpaceKey = "lineSpaceKey" extension UILabel{ var lineSpace ...
- 动态计算Label高度
//1.设置该label的numberOfLines为0 self.titleLabel.numberOfLines = 0; //2.字体的设置要与之前相同 NSDictionary * at ...
- 根据文字动态计算Label高度或宽度
//根据已知的label宽度计算文字高度 CGRect rect = [reson boundingRectWithSize:CGSizeMake(label_W, 0) options:NSStri ...
- IOS中Label根据上个label的内容设置下个label的frame
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UILabel ...
- 计算label
func getCGSize(size:CGSize,fontSize:CGFloat,text:String)->CGSize{ let attributes = [NSFontAttribu ...
随机推荐
- poj 1469 二分图最大匹配
就是最简单的最大匹配,没的说 #include<iostream> #include<cstdio> #include<cstring> #include<a ...
- [Wordpress]Wordpress使用SMTP发送电邮
参考:phpmailer_init中的代码,可以配置使用SMTP发送电邮 官方的案例代码是: add_action( 'phpmailer_init', 'my_phpmailer_example' ...
- HTML+CSS3 纯代码实现转盘效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Anroid之Intent的使用
inten常见动作:MAIN_ACTION(主视图). VIEW_ACTION(查看). EDIT_ACTION(修改). PICK_ACTION(选择) .GET_CONTENT_ACTION(获取 ...
- Visual Assist X 10.6.1837完美破解版(带VS2010破解)
Visual Assist X 10.6.1837完美破解版(带VS2010破解) 实用软件, 资源分享Add comments 八102011 转载自:http://www.blog.namind. ...
- 方法:怎么用ionic命令行调试你的ionic app
官网上有很详细的解说 http://blog.ionic.io/live-reload-all-things-ionic-cli/ 下面说说我自己的调试过程(android版): 首先用命令行进入你 ...
- 笔试面试题-寻找Coder
请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回.结果字符串的顺序按照"Coder"出现的次 ...
- xposed系列教程
转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/xposed-series/ 说明 这是一篇XPOSED开发系列教程, 个人开发者,开发不容易.QQ群: 73 ...
- python练习 根据日志中的ip和url排序
#!/usr/bin/env python #coding:utf-8 def open_file(file_name): res={} with open(file_name) as f: for ...
- 2014-10 u-boot make xxx_defconfig 过程分析
/** ****************************************************************************** * @author Maox ...