美文网首页
标签排序

标签排序

作者: 小的小碰撞 | 来源:发表于2017-09-07 17:50 被阅读0次

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];
            
            
        }
    }

}

相关文章

  • pandas高级特性

    1.pandas排序 按标签排序使用sort_index方法实现按标签排序 sort_index方法默认升序排序,...

  • 标签排序

    1 2

  • 团购标签案例

    数据提取 排序比较器 生成标签

  • iOS 自适应标签拖拽排序

    ZWDragSortView 自适应标签拖拽排序 功能 适用于有标签拖拽自动排序需求的人使用,该封装最大的特点是自...

  • Mac系统通过标签管理文件

    管理标签 打开 Finder访达-->偏好设置(⌘+,)-->标签 可自由增减、命名、排序标签建议分类:重要、紧急...

  • item可拖拽的GridView实现

    前言 之前的项目中有个类似网易新闻的标签排序功能.长按某个标签后可拖动进行排序,当时用GridView实现的,今天...

  • 表单字段排序的实现

    在table的 加上 标签实现根据字段的排序,给 标签url一个参数 o ,在视图中调用排序方法根据参数o得到字段...

  • Git标签命令

    查看标签 注意,标签不是按时间顺序列出,而是按字母排序的 查看标签信息 创建标签 默认标签是打在最新提交的comm...

  • 字典排序与多标签排序

  • 77. 组合/207. 课程表

    77. 组合 相关标签:回溯算法 207. 课程表 相关标签: DFS BFS 图 拓扑排序

网友评论

      本文标题:标签排序

      本文链接:https://www.haomeiwen.com/subject/bseijxtx.html