要为行高和估计的行高设置自动尺寸,请确保执行以下步骤,自动尺寸对单元格/行高布局有效。
- 分配并实现tableview数据源和委托
- 分配
UITableViewAutomaticDimension
给rowHeight和估计的RowHeight
- 实现委托/数据源方法(即向其
heightForRowAt
返回值UITableViewAutomaticDimension
)
--
目标C:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property IBOutlet UITableView * table;
@end
- (void)viewDidLoad {
[super viewDidLoad];
self.table.dataSource = self;
self.table.delegate = self;
self.table.rowHeight = UITableViewAutomaticDimension;
self.table.estimatedRowHeight = UITableViewAutomaticDimension;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
迅速:
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
table.dataSource = self
table.delegate = self
table.rowHeight = UITableView.automaticDimension
table.estimatedRowHeight = UITableView.automaticDimension
table.rowHeight = UITableViewAutomaticDimension
table.estimatedRowHeight = UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
return UITableViewAutomaticDimension
}
对于UITableviewCell中的标签实例
- 设置行数= 0(&换行模式=截尾)
- 设置相对于其superview /单元容器的所有约束(上,下,左左)。
- 可选:如果您希望标签覆盖最小的垂直区域,即使没有数据,也可以设置标签的最小高度。
注意:如果您具有多个具有动态长度的标签(UIElements),则应根据其内容大小进行调整:对于要以更高优先级进行扩展/压缩的标签,请调整“内容拥抱和抗压缩优先级”。
UITableViewCell
xib / storyboard中的自动布局设置再次进行重新检查。您那里有一些问题100%