實(shí)現(xiàn)按鈕上面標(biāo)題的換行、顏色區(qū)別、字體大小區(qū)別
//普通狀態(tài)
NSString *first = btnTitle;
NSString *second = [NSString stringWithFormat:@"贈(zèng)送:%@元", 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];
//高亮邀窃、選中狀態(tài)
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];
效果圖
-----常見問題---
button設(shè)置選中狀態(tài)后厦画,再點(diǎn)擊沒有高亮狀態(tài)(起初設(shè)置高亮、選中狀態(tài)一樣)吝梅。
解決辦法:設(shè)置UIControlStateHighlighted | UIControlStateSelected狀態(tài)
```
[button setAttributedTitle:btnAttriTitle2 forState:UIControlStateHighlighted | UIControlStateSelected];
```