ios 一行中的文字顯示多種顏色

2021-06-18 20:08:44 字數 1057 閱讀 7799

要設定多種屬性的話就要設定nsmutableattributedstring這個方法,他對於string類設定不同的熟悉,包括顏色,字型等多種屬性。

先上**:

nsmutableattributedstring *lab = [[nsmutableattributedstring alloc]initwithstring:@"今天天氣很好,秋高氣爽,萬里無雲!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"];

[lab addattribute:(nsstring *)kctforegroundcolorattributename value:(id)[uicolor redcolor].cgcolor range:nsmakerange(7, 4)];

[lab addattribute:(nsstring *)kctforegroundcolorattributename value:(id)[uicolor bluecolor].cgcolor range:nsmakerange(20, 4)];

catextlayer *textlay = [catextlayer layer];

textlay.string = lab;

textlay.frame = cgrectmake(100, 300, 200, 1000);

[self.view.layer addsublayer:textlay];

先將文字放入nsmutableattributedstring中,然後設定特殊屬性的位置,最後通過catextlayer將其在螢幕上顯示。由於uilabel不支援nsmutableattributedstring,應此只能用catextlayer。

執行**會發現字型灰常的模糊,這時就要設定catextlayer的contentsscale 熟悉,就能變清晰了。

textlay.contentsscale = 2;//防止模糊!!重要
這樣就大功告成啦~~

UILable 顯示多種顏色的方法

借用別人封裝好的類庫,用來顯示同乙個uilable上的多種顏色的字。類庫使用 主要用了coretext裡面的東西,所以在使用類庫之前需要引用coretext這個系統框架。注意,此封裝的類庫不支援arc 類庫設定好後,開始進行使用此類庫裡面的方法 do any additional setup aft...

css動畫讓文字一行一行逐漸顯示

這幾天在做乙個年終總結的活動,需要將顯示的內容以動畫的形式逐漸顯示,而且還要使用輪播的效果顯示好幾頁,每頁內容都不同 其實簡單的css就可以實現,但是css 太長,就寫了個迴圈用js實現啦我是在vue的基礎上寫的,1 輪播可以使用外掛程式swiper,使用可以參考 或者我下篇文章介紹 2 每頁輪播頁...

文字只顯示一行或多行

1 文字只顯示一行,文字溢位部分用省略號顯示 截至1月15日09時,全國累計報告確診病例98290例,現有確診病例1727例,境外輸入4474例 海外現有確診病例26094556例。疫情影響了很多行業的發展,更影響到我們生活的很多方面,所以大家都是希望疫情能夠早點結束了。div 2 文字只顯示3行,...