美文网首页
对UIButton 的新的认识 -- 标签的实现

对UIButton 的新的认识 -- 标签的实现

作者: 努力奔跑的小男孩 | 来源:发表于2016-12-07 09:29 被阅读20次
新认识1
标签的实现.jpg
- (void)customWith:(LikeModel *)model{
    [self.iconImage sd_setImageWithURL:[NSURL URLWithString:model.image]];
    self.titleL.text = model.title;
    self.desL.text = model.Description;
    for (id view in self.tagsView.subviews) {
        [view removeFromSuperview];
    }
    NSInteger i = 0;
    CGFloat orginX = 0;
    CGFloat btnH = 25;
    CGSize btnSize = CGSizeMake(100, 25);
    for (TagsInfoModel * tagInfo in model.tagsInfo) {
        NSString * text = tagInfo.text;
        CGRect rect = [text boundingRectWithSize:btnSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} context:nil];
        UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame = CGRectMake(orginX + 15, 0, rect.size.width + 20, btnH);
        btn.tag = 1000 + i;
        btn.titleLabel.font = [UIFont systemFontOfSize:12];
        orginX += btn.frame.size.width + 15;
        i +=1;
        btn.layer.cornerRadius = btnH / 2;
        btn.layer.masksToBounds = true;
        btn.layer.borderColor = [[UIColor orangeColor] CGColor];
        btn.layer.borderWidth = 0.8;
        [btn setTitle:text forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
        [self.tagsView addSubview:btn];
        

    }

新认识2

根据button 上的标题字数 来进行 选中 和不选中状态下不不同表现

第一种方式添加
let name = (self.loveArr![i]["name"] as! String)

//            let range = name.startIndex..<name.endIndex
            let nameRange:NSRange = NSMakeRange(0, name.characters.count)
            let normalAttribute = NSMutableAttributedString.init(string:name)
            normalAttribute.addAttributes([NSFontAttributeName:UIFont.systemFont(ofSize: 15),NSForegroundColorAttributeName:UIColor.black], range:nameRange)
            let selectedAttribute =  NSMutableAttributedString.init(string:name)
            selectedAttribute.addAttributes([NSFontAttributeName:UIFont.systemFont(ofSize: 17),NSForegroundColorAttributeName:NavColor], range: nameRange)
button.setTitleColor(UIColor.black, for: UIControlState.highlighted)
            button.setAttributedTitle(normalAttribute, for: UIControlState.normal)
            button.setAttributedTitle(selectedAttribute, for: UIControlState.selected)
第二种方式添加(建议用)
 NSMutableAttributedString * selectedAttributed = [[NSMutableAttributedString alloc]initWithString:self.btnsTitles[i] attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:25],NSForegroundColorAttributeName:[UIColor orangeColor]}];
 [button setAttributedTitle:selectedAttributed forState:UIControlStateSelected]; // 选中状态下的 大小 和 颜色

相关文章

  • 对UIButton 的新的认识 -- 标签的实现

    新认识1 新认识2 根据button 上的标题字数 来进行 选中 和不选中状态下不不同表现 第一种方式添加 第二种...

  • iOS UIButton之防止重复点击(控制事件响应时间间隔)

    级别:★★☆☆☆标签:「UIButton Runtime」「UIButton点击频率」「UIButton防止多次点...

  • 对UIButton 的操作(彩票案例)

    可以实现的效果:1.取消UIButton的高亮状态2.缩小UIButton的响应区域3.对UIButton中的UI...

  • 聊聊我对“标签”的认识

    最近,我参加了一个培训课程,学着介绍自己、学着讲一本书。 今天在参加课程的时候,我坐在底下听小伙伴们做自我介绍,她...

  • GCD实现验证码倒计时

    1 . 新增UIButton的分类UIButton+Categroy 代码如下: 2 . 代码实现

  • 对创新的新的认识

    你是怎么理解【创新】这个词的? 1.创新这个概念听了很多次,但并没有深入思考。因为人有这么一个特点,对新鲜或未知的...

  • 对婚礼的新认识

    每个女生心里都有一个公主梦,这似乎是与生俱来的,也可能是打小就听王子和公主的爱情故事的影响,我们对爱情充满渴望,对...

  • 对“休息”的新认识

    一.休息不是浪费光阴 看到别人在努力学习工作,若我停下来休息会让我产生一种负罪感,对自己失去信心。一直以来我很崇拜...

  • 对阅读的新认识

    随着互联网的普及,信息量越来越大,我们已经习惯于快速阅读,包括扫读、跳读、寻读等,我们的普遍认识是:读得越快越好、...

  • 对幼教的新认识

    幼儿教师是一个怎样的存在?作为孩子童年时代的老师又承担着怎样的责任?这是怎样一份职业? ...

网友评论

      本文标题:对UIButton 的新的认识 -- 标签的实现

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