在專案中有的時候我們會用到同乙個lable,但是裡面的文字卻是不同乙個顏色。在ios 6 以後我們可以很輕鬆的實現這一點,官方的api 為我們提供了uilabel類的attributedtext, 使用不同顏色和不同字型的字串,我們可以使用nsattributedtext 和 nsmutableattributedtext 類來實現。
其中方法1:
效果圖:self.title = @"for ios 6 & later";
nsmutableattributedstring *str = [[nsmutableattributedstring alloc] initwithstring:@"using nsattributed string"];
[str addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(0,5)];
[str addattribute:nsforegroundcolorattributename value:[uicolor redcolor] range:nsmakerange(6,12)];
[str addattribute:nsforegroundcolorattributename value:[uicolor greencolor] range:nsmakerange(19,6)];
[str addattribute:nsfontattributename value:[uifont fontwithname:@"arial-bolditalicmt" size:30.0] range:nsmakerange(0, 5)];
[str addattribute:nsfontattributename value:[uifont fontwithname:@"helveticaneue-bold" size:30.0] range:nsmakerange(6, 12)];
[str addattribute:nsfontattributename value:[uifont fontwithname:@"courier-boldoblique" size:30.0] range:nsmakerange(19, 6)];
attrlabel.attributedtext = str;
方法2:
然後呼叫此方法:- (nsmutableattributedstring *)attrstrfrom:(nsstring *)titlestr numberstr:(nsstring *)numberstr
range:[titlestr rangeofstring:numberstr]];
return arrstring;
}
效果圖://哪個字邊顏色 numberstr就是哪個字
nsstring *numberstr = [nsstring stringwithformat:@"【%@】",time];
/*namelabel2為建立的label,
numberstr為要變色的字串
*/[namelabel2 setattributedtext:[self attrstrfrom:[nsstring stringwithformat:@"請先選定取餐地點在選擇菜品,如果取餐地點變\n更需要重新選菜。訂餐結束時間【%@】",time] numberstr:numberstr]];
iOS 同乙個Label的不同樣式顯示
一行文字 要顯示成 一行文字 不需要用不同的兩個label進行拼接 今兒個就放個方法進來 uilabel o pricelabel uilabel alloc init o pricelabel.text 一行文字 o pricelabel.textalignment nstextalignment...
關於同乙個lable不同字型和顏色的設定
最近在模仿微博的專案中發現,有的時候同乙個lable會設定不同的字型和不同顏色,去建立好幾個不同的lable未免有些繁瑣,自己查閱資料以後來進行乙個總結 nsmutableattributedstring str nsmutableattributedstring alloc initwithstr...
iOS 同乙個workspace下建立多個專案程式設計
在ios開發中,相關聯的多個專案可能會放在同乙個workspace下進行開發,那習慣了乙個專案在乙個工作空間下的同學該怎麼快速開擼呢?只需要三步而已!第一步,先用xcode在目標目錄下建立乙個workspace檔案。見圖說話。第二步,用xcode開啟workspace檔案,然後在該workspace...