1
/**
* 專門用來更新標簽按鈕的frame
*/
- (void)updateTagButtonFrame
{
// 更新標簽按鈕的frame 3
for (int i = 0; i<self.tagButtons.count; i++) {
XMGTagButton *tagButton = self.tagButtons[i];
if (i == 0) { // 最前面的標簽按鈕
tagButton.x = 0;
tagButton.y = 0;
} else { // 其他標簽按鈕
XMGTagButton *lastTagButton = self.tagButtons[i - 1];
// 計算當前行左邊的寬度
CGFloat leftWidth = CGRectGetMaxX(lastTagButton.frame) + XMGTagMargin;
// 計算當前行右邊的寬度
CGFloat rightWidth = self.contentView.width - leftWidth;
if (rightWidth >= tagButton.width) { // 按鈕顯示在當前行
tagButton.y = lastTagButton.y;
tagButton.x = leftWidth;
} else { // 按鈕顯示在下一行
tagButton.x = 0;
tagButton.y = CGRectGetMaxY(lastTagButton.frame) + XMGTagMargin;
}
}
}
}
2
{
//醫(yī)生領(lǐng)域
CGFloat padding = 5;
CGFloat titBtnX = 15;
CGFloat titBtnY = 5;
CGFloat titBtnH = 25;
CGFloat kwidth = (kScreenWidth-30);
NSString *tags = dominStr;
if (tags!= nil||![tags isEqualToString:@""]) {
NSArray *tagArray = [tags componentsSeparatedByString:@"似炎,"];
for (int i = 0 ; i<tagArray.count; i++) {
NSString *tagStr = tagArray[i];
if (tagStr.length == 0 || [tagStr isEqualToString:@""] || tagStr == nil) continue;
UILabel *tagBtn = [JMFoundation CommonLabelWithFont:12 textColor:UIColorFromRGB(0x3e2723)];
tagBtn.layer.borderColor = UIColorFromRGB(0x3e2723).CGColor;
tagBtn.layer.borderWidth = 1.5;
tagBtn.text = tagArray[i];
tagBtn.textAlignment = NSTextAlignmentCenter;
tagBtn.layer.cornerRadius = 25/2;
tagBtn.layer.masksToBounds = YES;
//計算文字大小
CGSize titleSize = [tagArray[i] boundingRectWithSize:CGSizeMake(MAXFLOAT, titBtnH) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} context:nil].size;
CGFloat titBtnW = titleSize.width + 2 * padding;
//判斷按鈕是否超過屏幕的寬
if ((titBtnX + titBtnW) > kwidth) {
titBtnX = 15;
titBtnY += titBtnH + padding;
_dominTagH = titBtnY;
}
//設(shè)置按鈕的位置
tagBtn.frame = CGRectMake(titBtnX, titBtnY, titBtnW, titBtnH);
titBtnX += titBtnW + padding;
[self.dominMidView addSubview:tagBtn];
}
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者