标签排序

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

{
    
    //医生领域
    
    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;
            }
            //设置按钮的位置
            tagBtn.frame = CGRectMake(titBtnX, titBtnY, titBtnW, titBtnH);
            
            titBtnX += titBtnW + padding;
            
            [self.dominMidView addSubview:tagBtn];
            
            
        }
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,397评论 1 19
  • @font-face{ font-family:"Times New Roman"; } @font-face{ ...
    niki阅读 3,480评论 0 1
  • 花语:等待有希望的希望,幸福、光荣、美艳长新。 只道花开无十日, 此花无日不春风。 姹紫嫣红
    小時光sunshine阅读 2,962评论 0 0
  • 圣贤亦可怜! 圣贤亦有苦恼滴!拿着宇宙之甘露,只能自饮,浩瀚之人海,茫茫之宇内,万物之生灵,能喝到嘴的又有几人?不...
    纵情嬉戏天地间阅读 910评论 0 1
  • 昨晚哄女儿睡觉我自己也睡着了。考完试我的拖延症又出来了,早上起床各种赖! 7:25-8:10 起床、吃早餐 8:1...
    郑清文阅读 936评论 0 1