關(guān)于自動布局的概念愧捕,大家肯定都有所接觸冯挎。有系統(tǒng)自帶的AutoLayout和Masonry足画,以及我現(xiàn)在推薦的SDAutoLayout晚唇,它們在處理自動布局都各有優(yōu)勢于游。這次主要是談?wù)剬DAutoLayout的運用诚镰。
先附上SDAutoLayout在github上的地址:SDAutoLayout
SDAutoLayout的作者已經(jīng)把用法說的很詳細(xì)的坠韩,另外網(wǎng)上也有很大用例储笑,所以這里我就不詳細(xì)說明了茧泪。
基本分為2步:
1. >> 設(shè)置cell高度自適應(yīng):
// cell布局設(shè)置好之后調(diào)用此方法就可以實現(xiàn)高度自適應(yīng)(注意:如果用高度自適應(yīng)則不要再以cell的底邊為參照去布局其子view)
[cell setupAutoHeightWithBottomView:_view4 bottomMargin:10];
2. >> 獲取自動計算出的cell高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
id model = self.modelsArray[indexPath.row];
// 獲取cell高度
return [self.tableView cellHeightForIndexPath:indexPath model:model keyPath:@"model" cellClass:[DemoVC9Cell class] contentViewWidth:cellContentViewWith];
}
這里我著重講解的是SDAutoLayout對xib的運用蜓氨,個人是比較喜歡運用xib來進(jìn)行項目的敏捷開發(fā)。在運用SDAutoLayout代碼布局的時候队伟,還是覺得有點浪費開發(fā)時間穴吹,
于是在xib的基礎(chǔ)上用SDAutoLayout進(jìn)行高度自適應(yīng)開發(fā)。
在控制器里面還是和純代碼一樣的用法嗜侮,只是添加了一個xib文件港令。
現(xiàn)在附上demo:SDAutoLayoutDemo