有時候,APP上面,button,label等控件里面的text屬性的樣式會是很多千奇百怪的造型,本文就收集了一些常用的樣式以供參考
NSFontAttributeName :字體字號
value值:UIFont類型
NSParagraphStyleAttributeName : 段落樣式
value值:NSParagraphStyle類型(其屬性如下
lineSpacing 行間距(具體用法可查看上面的設置行間距API)
paragraphSpacing 段落間距
alignment 對齊方式
firstLineHeadIndent 指定段落開始的縮進像素
headIndent 調整全部文字的縮進像素
NSForegroundColorAttributeName 字體顏色
value值:UIColor類型
NSBackgroundColorAttributeName 背景顏色
value值:UIColor類型
NSObliquenessAttributeName 字體粗傾斜
value值:NSNumber類型
NSExpansionAttributeName 字體加粗
value值:NSNumber類型(比例) 0就是不變 1增加一倍
NSKernAttributeName 字間距
value值:CGFloat類型
NSUnderlineStyleAttributeName 下劃線
value值:1或0
NSUnderlineColorAttributeName 下劃線顏色
value值:UIColor類型
NSStrikethroughStyleAttributeName 刪除線
value值:1或0
NSStrikethroughColorAttributeName 刪除線顏色
value值:UIColor類型
NSStrokeColorAttributeName 字體顏色
value值:UIColor類型
NSStrokeWidthAttributeName 字體描邊
value值:CGFloat
NSLigatureAttributeName 連筆字
value值:1或0
NSShadowAttributeName 陰影
value值:NSShawdow類型(下面是其屬性)
shadowOffset 影子與字符串的偏移量
shadowBlurRadius 影子的模糊程度
shadowColor 影子的顏色
NSTextEffectAttributeName 設置文本特殊效果,目前只有圖版印刷效果可用
value值:NSString類型
NSAttachmentAttributeName 設置文本附件
value值:NSTextAttachment類型(沒研究過,可自行百度研究)
NSLinkAttributeName 鏈接
value值:NSURL (preferred) or NSString類型
NSBaselineOffsetAttributeName 基準線偏移
value值:NSNumber類型
NSWritingDirectionAttributeName 文字方向 分別代表不同的文字出現方向
value值:@[@(1),@(2)]
NSVerticalGlyphFormAttributeName 水平或者豎直文本 在iOS沒卵用,不支持豎版
value值:1豎直 0水平
此處留兩個簡單的使用,否則光看到屬性也很摸不著頭腦,而且以我下面的例子為例,每一個屬性對應的value值并非一成不變,如下所示刪除線的value的值為0和1,但是當我把value值設置單線,雙線也是可以的(這個也是我無意中發現),所以很多東西都需要自己多試試才能獲得滿意的答案
前面四中都是修飾的刪除線
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"沒有帳號/立即注冊"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSStrikethroughStyleAttributeName value:@0 range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
value=0
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"沒有帳號/立即注冊"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSStrikethroughStyleAttributeName value:@1 range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
value=1
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"沒有帳號/立即注冊"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
刪除線
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"沒有帳號/立即注冊"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleDouble] range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
雙刪除線
下劃線
NSMutableAttributedString *str = [[NSMutableAttributedStringalloc] initWithString:@"沒有帳號/立即注冊"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle] range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
下劃線