關于tableview 在cell上展示標簽汛兜,實現(xiàn)高度自動計算

1、首先先展示一下要實現(xiàn)的效果:


2哨鸭、如果整個頁面使用collectionView來布局就比較簡單了受扳,但是如果是tableview的cell上來實現(xiàn)這種效果的話,高度不是很好控制兔跌,我使用了tableview自動行高,然后再cell里賦值的時候進行masonry布局峡蟋,這里要控制好不要重復創(chuàng)建標簽坟桅,根據(jù)具體需求可以選擇傳入一次數(shù)據(jù)源,也可以每次創(chuàng)建標簽的時候蕊蝗,把之前創(chuàng)建的標簽刪除掉仅乓,tableviewcell中的代碼如下:

-(void)setTagArray:(NSArray *)tagArray{

_tagArray = tagArray;

NSArray *currentArray = tagArray;

NSInteger index = 0;

CGFloat width = 0;

CGFloat top = 15;

if (tagArray != nil) {

if (currentArray.count == 0) {

UIView *smallView = [UIView new];

[self.contentView addSubview:smallView];

[smallView mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.right.top.bottom.equalTo(self.contentView);

make.height.mas_equalTo(0.1);

}];

}

}

for (NSDictionary *tagDic in currentArray) {

index ++;

CGRect rect = [tagDic[@"name"] boundingRectWithSize:CGSizeMake(MAXFLOAT, 25) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:13]} context:nil];

UILabel *nameLabel = [[UILabel alloc]init];

nameLabel.text = SNHNoNilString(tagDic[@"name"]);

nameLabel.font = [UIFont systemFontOfSize:13];

nameLabel.textAlignment = NSTextAlignmentCenter;

nameLabel.layer.cornerRadius = 3;

nameLabel.layer.borderWidth = 0.5;

nameLabel.layer.borderColor = [UIColor snh_d5d6d7Color].CGColor;

[self.contentView addSubview:nameLabel];

if (index == 1) {

width = 15 + rect.size.width + 25 + 12;

}else{

width = width + rect.size.width + 25 + 12;

}

if ((width + 15) > snh_screenWidth()) {

top = top + 40;

}

if (_previousLabel == nil) {

[nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.mas_equalTo(self.contentView.mas_left).offset(15);

make.top.mas_equalTo(self.contentView.mas_top).offset(top);

if (index == _tagArray.count) {

make.bottom.mas_equalTo(self.contentView.mas_bottom).offset(-15);

}

make.size.mas_equalTo(CGSizeMake(rect.size.width + 25, 25));

}];

}else{

[nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {

NSLog(@"====%f",_previousLabel.frame.origin.x);

if ((width + 15) > snh_screenWidth()) {

make.left.mas_equalTo(self.contentView.mas_left).offset(15);

make.top.mas_equalTo(self.contentView.mas_top).offset(top);

if (index == _tagArray.count) {

make.bottom.mas_equalTo(self.contentView.mas_bottom).offset(-15);

}

}else{

make.left.mas_equalTo(_previousLabel.mas_right).offset(12);

make.centerY.mas_equalTo(_previousLabel.mas_centerY);

if (index == _tagArray.count) {

make.bottom.mas_equalTo(self.contentView.mas_bottom).offset(-15);

}

}

make.size.mas_equalTo(CGSizeMake(rect.size.width + 25, 25));

}];

}

if ((width + 15) > snh_screenWidth()) {

width = 15 + rect.size.width + 25 + 12;

}

_previousLabel = nameLabel;

}

}




以上是代碼,要注意最后一個標簽與cell底部有約束蓬戚,來實現(xiàn)自動行高

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夸楣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子子漩,更是在濱河造成了極大的恐慌豫喧,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幢泼,死亡現(xiàn)場離奇詭異紧显,居然都是意外死亡,警方通過查閱死者的電腦和手機缕棵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門孵班,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涉兽,“玉大人,你說我怎么就攤上這事篙程〖衔罚” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵虱饿,是天一觀的道長拥诡。 經(jīng)常有香客問我,道長郭厌,這世上最難降的妖魔是什么袋倔? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮折柠,結(jié)果婚禮上宾娜,老公的妹妹穿的比我還像新娘。我一直安慰自己扇售,他們只是感情好前塔,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著承冰,像睡著了一般华弓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上困乒,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天寂屏,我揣著相機與錄音,去河邊找鬼娜搂。 笑死迁霎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的百宇。 我是一名探鬼主播考廉,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼携御!你這毒婦竟也來了昌粤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤啄刹,失蹤者是張志新(化名)和其女友劉穎涮坐,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誓军,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡膊升,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谭企。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廓译。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡评肆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出非区,到底是詐尸還是另有隱情瓜挽,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布征绸,位于F島的核電站久橙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏管怠。R本人自食惡果不足惜淆衷,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渤弛。 院中可真熱鬧祝拯,春花似錦、人聲如沸她肯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽康嘉。三九已至籽前,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枝哄,已是汗流浹背肄梨。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工膘格, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留财松,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓辆毡,卻偏偏與公主長得像菜秦,于是被迫代替她去往敵國和親舶掖。 傳聞我的和親對象是個殘疾皇子球昨,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容

  • (一)Masonry介紹 Masonry是一個輕量級的布局框架 擁有自己的描述語法 采用更優(yōu)雅的鏈式語法封裝自動布...
    木易林1閱讀 2,338評論 0 3
  • Masonry是一個輕量級的布局框架,擁有自己的描述語法眨攘,采用更優(yōu)雅的鏈式語法封裝自動布局主慰,簡潔明了并具有高可讀性...
    3dcc6cf93bb5閱讀 1,768評論 0 1
  • iOS_autoLayout_Masonry 概述 Masonry是一個輕量級的布局框架與更好的包裝AutoLay...
    指尖的跳動閱讀 1,165評論 1 4
  • 一嚣州、前言 關于蘋果的布局一直是我比較糾結(jié)的問題,是寫代碼來控制布局共螺,還是使用storyboard來控制布局呢该肴?以前...
    iplaycodex閱讀 2,451評論 0 1
  • 受難記 陳宸 周五放學前,老班宣布:“因為中考三天調(diào)休藐不,接下來的三個周六匀哄,都要到校上課〕”此話一出涎嚼,頓時怨聲載道,...
    蘇北以南閱讀 383評論 0 1