推薦一個iOS關於顏色的庫-Wonderful,ios庫-wonderful

來源:互聯網
上載者:User

推薦一個iOS關於顏色的庫-Wonderful,ios庫-wonderful

Wonderful 這個庫主要是與UIColor息息相連的,其中一共包含四個子檔案,UIColor+Wonderful,UIColor+Separate,SXColorGradientView,SXMarquee。分別對應顏色擴充,色彩分離,色彩坡形,和跑馬燈 4種主要功能。

項目地址:https://github.com/dsxNiubility/Wonderful

 

一、UIColor+Wonderful

1.這個分類提供了100多種的顏色擴充,譬如卡其色,銀色,草坪綠,金色,巧克力色,等等。 雖然這個功能可能不太適合UI規範都直接制定好了的企業級的App,但是對於一些小型的App和Demo類程式還是有一些用武之地的。再也不用redColor buleColor了,再也不用想要一點特殊顏色就要colorWithRGB了。 只要引入了這個庫,大部分的常用顏色都可以直接使用。

    self.view.backgroundColor = [UIColor khakiColor];    self.view.backgroundColor = [UIColor chocolateColor]; 

2.平均每個色系有10種顏色,不僅可以使用名稱直接敲出,還能使用顏色階梯的宏敲出,在你想不起詞的時候更加方便。 宏從1~10是顏色漸深,可以根據自己的感覺使用淺一級的宏或深一級的宏。

    self.view.backgroundColor = Wonderful_YelloeColor4;    self.view.backgroundColor = Wonderful_BrownColor4;

3.提供了顏色微調方案,可以讓一個已知顏色的rgb的某值上升或下降若干,可用於不管背景是什麼色,邊框都比背景深20之類的操作。 也可以將認可顏色的詳細值列印出來。

    UIColor *navColor = [[UIColor redColor]up:SXColorTypeBlue num:30]; // 在紅色上把藍色色值提高30    UIColor *barColor = [[UIColor blueColor]up:1 num:140]; // 可以直接用枚舉對應的tag    UIColor *bgColor = [[UIColor blackColor]down:SXColorTypeAlpha num:10]; // 取一個比黑色稍微淡的顏色    UIColor *lineColor = [bgColor up:3 num:20]; // 不管背景是什麼顏色 線都比背景淺20.

 

這個可以先看一下效果展示:(gif圖可能比較模糊,但實際上過渡是做的十分高清的)

  

二、UIColor+Separate

1.提供顏色分離方案,可以將任何顏色的RGB 和alpha的值取出。

    UIColor *testC = [UIColor salmonColor];    float r= [testC red];    float g= [testC green];    float b= [testC blue];    float alpha= [testC alpha];    NSLog(@"******  %f,%f,%f,%f",r,g,b,alpha);

2.可以通過一個顏色算出此顏色的反色,使得背景無論被使用者佈建成什麼色,文字顏色都是背景的反色。

    self.showLbl1.backgroundColor = [UIColor peachRed];    self.showLbl1.textColor = [[UIColor peachRed]reverseColor];

3.也可以直接列印這個顏色的各項詳細數值

[[UIColor salmonColor]printDetail];
// 列印結果This Color's Red:250, Green:128, Blue:114, Alpha:1decimal red:0.9804 green:0.5020 blue:0.4471 Hexadecimal 0xfa8072
三、SXColorGradientView

1.色彩坡形的view,可以設定任何顏色到透明的過渡。 如果有意,完全可以將導覽列設定成從上往下的漸層色。當下這種漸層色基本都是以一張背景圖片,並且還不宜改變,使用原生方法實現漸層色的成本肯定比圖片要小。

    SXColorGradientView *grv1 = [SXColorGradientView createWithColor:[UIColor paleGreen] frame:CGRectMake(10, 10, 80, 30) visible:YES direction:SXColorGradientToRight];

2.也可以設定兩個顏色相互過渡。

    SXColorGradientView *grv3 = [SXColorGradientView createWithFromColor:[UIColor peruColor] toColor:[UIColor ghostWhite] frame:CGRectMake(10, 50, 80, 30) direction:SXColorGradientToRight];

3.可以設定向上下左右四個過渡的方向。

typedef NS_ENUM(NSInteger, SXColorGradientDirection) {    SXColorGradientToTop = 1,    SXColorGradientToLeft = 2,    SXColorGradientToBottom = 3,    SXColorGradientToRight = 4,};

*4.後續會增加傳入一個數組,然後搭建一個多個顏色過渡的view。

 

四、SXMarquee

1.現在iOS的項目中,帶有跑馬燈的項目少之又少,安卓有內建的跑馬燈控制項,但iOS出於各種原因,至少我還沒見過帶跑馬燈的項目,其實這個功能應該是很常用很方便很有意義的。 當下做跑馬燈的第三方庫沒有幾個,並且大多存在下列問題:代碼老舊,實現複雜,只能實現白色的背景,不能綁定點擊事件,點擊暫停拖動等。

    SXMarquee *mar3 = [[SXMarquee alloc]initWithFrame:CGRectMake(20, 390, 335, 25) speed:2 Msg:@"If you've submitted an update to fix a critical bug in your app on the App Store and you are requesting an expedited review." bgColor:[UIColor goldColor] txtColor:[UIColor goldenrod]];    [mar3 changeMarqueeLabelFont:[UIFont boldSystemFontOfSize:12]];    [mar3 start];

2.跑馬燈的背景可以設定任何顏色,這個是基於顏色過渡view做的。

3.跑馬燈可以實現點擊拖動,或者綁定更多點擊事件。

如果你不是在董鉑然部落格園看到本文 可點擊查看原文。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.