html setattribute('title' 换行,button的AttributedTitle

实现按钮上面标题的换行、颜色区别、字体大小区别

//普通状态

NSString *first = btnTitle;

NSString *second = [NSString stringWithFormat:@"赠送:%@元", detailTitle];

NSString *btnString = [NSString stringWithFormat:@"%@\n%@", first, second];

NSMutableAttributedString *btnAttriTitle = [[NSMutableAttributedString alloc] initWithString:btnString];

NSDictionary *dictNor = @{

NSForegroundColorAttributeName : BZChongZhiZengSongColor,

NSFontAttributeName : font1

};

NSRange rangeNor = NSMakeRange(first.length+1, second.length);

[btnAttriTitle  addAttributes:dictNor range:rangeNor];

button.titleLabel.numberOfLines = 0;

button.titleLabel.textAlignment = NSTextAlignmentCenter;

[button setAttributedTitle:btnAttriTitle forState:UIControlStateNormal];

//高亮、选中状态

NSString *btnString2 = [NSString stringWithFormat:@"%@\n%@", first, second];

NSMutableAttributedString *btnAttriTitle2 = [[NSMutableAttributedString alloc] initWithString:btnString2];

NSDictionary *dictSel1 = @{

NSForegroundColorAttributeName : BZredColor,

NSFontAttributeName : font2

};

NSDictionary *dictSel2 = @{

NSForegroundColorAttributeName : BZredColor,

NSFontAttributeName : font1

};

NSRange rangeSel1 = NSMakeRange(0, first.length);

NSRange rangeSel2 = NSMakeRange(first.length + 1, second.length);

[btnAttriTitle2 addAttributes:dictSel1 range:rangeSel1];

[btnAttriTitle2 addAttributes:dictSel2 range:rangeSel2];

[button setAttributedTitle:btnAttriTitle2 forState:UIControlStateHighlighted];

[button setAttributedTitle:btnAttriTitle2 forState:UIControlStateSelected];

效果图

e276793e8449

-----常见问题---

button设置选中状态后,再点击没有高亮状态(起初设置高亮、选中状态一样)。

解决办法:设置UIControlStateHighlighted | UIControlStateSelected状态

```

[button setAttributedTitle:btnAttriTitle2 forState:UIControlStateHighlighted | UIControlStateSelected];

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值