1.关于Tableview的cell显示问题:
1.1 .tableView: cellForRowAtIndexPath: 创建或者从重用队列里面取出cell,不会马上显示,所以不要在这里对cell进行数据填充.一般数据少得时候不太影响,但是当显示内容比较大的时候,使用方法:tableView: willDisplayCell: forRowAtIndexPath: 来进行数据填充。
1.2 iOS 8以后Tableview对于cell的高度计算有了新特性,就是先
self.talkTabV.estimatedRowHeight = 180;
self.talkTabV.rowHeight = UITableViewAutomaticDimension;
然后在cell中使用Masonry进行约束的时候需要将cell的高度全部撑起来(即上下都需要设置)注意:在视图的添加上面,需要将所有的视图都添加到self.contentView上面
,cell的高度就会自适应。
2.关于URL的问题,最近开发中由服务器传递过来的图片URL为字符串类型 .如:
http://res. xxxxxx.com/files/2017-03-30/1703301050266190430.jpg?attrs={"width":640,"height":428
的情况下,因为有了attrs:的附加内容(传输了图片的宽高,有的图片还有定点描述。。。)所以如果直接 NSURL *URL = [NSURL URLWithString:urlStr];的时候URL值为nil,需要对 urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ; 来进行转译一次 。
3.一个小方法,去掉字符串开头的结尾的空格和换行符\n \r :
NSString *temp = [changeContentStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];