rowHeight
Note that if you create a self-sizing cell in Interface Builder, the default row height is changed to the value set in Interface Builder. To get the expected self-sizing behavior for a cell that you create in Interface Builder, you must explicitly set rowHeight
equal to UITableViewAutomaticDimension
in your code.
estimatedRowHeight
The estimated height of rows in the table view.
Providing a nonnegative estimate of the height of rows can improve the performance of loading the table view. If the table contains variable height rows, it might be expensive to calculate all their heights when the table loads. Using estimation allows you to defer some of the cost of geometry calculation from load time to scrolling time.
When you create a self-sizing table view cell, you need to set this property and use constraints to define the cell’s size.
The default value is 0
, which means there is no estimate.
UITextView无法自动布局
UITextView,在storyboard,Scrolling Enabled默认是选中,但是造成无法根据text的长度,自动布局,所以取消选中就可以了,和UILable的显示效果一样。
// 将bundle中的json,转化成字典
guard let path = Bundle.main.url(forResource: "artists", withExtension: "json") else {
return artists
}
let data = try Data.init(contentsOf: path)
guard let dic = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String : Any] else {
return artists
}
// 组装artists和works
guard let artistsYuan = dic["artists"] as? [[String:AnyObject]] else { return artists}