最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS開(kāi)發(fā)中如何實(shí)現(xiàn)一個(gè)平滑的顏色過(guò)渡

 更新時(shí)間:2017年05月09日 09:51:36   作者:進(jìn)擊的_superman  
這篇文章給大家分享在ios開(kāi)發(fā)中如何從a顏色平滑的過(guò)渡到b顏色。代碼簡(jiǎn)單易懂,需要的朋友參考下吧

如何從A顏色平滑的過(guò)渡到B顏色

同一個(gè)視圖,隨著進(jìn)度或者其他過(guò)程的變化,從A顏色過(guò)渡到B顏色。

所有的顏色都是是由RGB三原色組成,在iOS開(kāi)發(fā)中,通過(guò)RGB值的組合來(lái)顯示不同的顏色。一次A-B其實(shí)就是RGB值的改變,如何平滑的過(guò)渡呢?那就是等比例的改變RGB值!

那么,如何獲取顏色的RGB值呢?

- (NSArray *)getRGBDictionaryByColor:(UIColor *)originColor
{
  CGFloat r=0,g=0,b=0,a=0;
  if ([self respondsToSelector:@selector(getRed:green:blue:alpha:)]) {
    [originColor getRed:&r green:&g blue:&b alpha:&a];
  }
  else {
    const CGFloat *components = CGColorGetComponents(originColor.CGColor);
    r = components[0];
    g = components[1];
    b = components[2];
    a = components[3];
  }
  return @[@(r),@(g),@(b)];
}

有了上面的方法,下面就可以計(jì)算出連個(gè)顏色之間的色差

- (NSArray *)transColorBeginColor:(UIColor *)beginColor andEndColor:(UIColor *)endColor {
  NSArray<NSNumber *> *beginColorArr = [self getRGBDictionaryByColor:beginColor];
//  NSArray<NSNumber *> *endColorArr = [self getRGBDictionaryByColor:endColor];
  NSArray<NSNumber *> *endColorArr = @[@(1.0),@(1.0),@(1.0)];
  return @[@([endColorArr[0] doubleValue] - [beginColorArr[0] doubleValue]),@([endColorArr[1] doubleValue] - [beginColorArr[1] doubleValue]),@([endColorArr[2] doubleValue] - [beginColorArr[2] doubleValue])];
}

最后通過(guò)過(guò)渡系數(shù)來(lái)返回當(dāng)前的顏色

- (UIColor *)getColorWithColor:(UIColor *)beginColor andCoe:(double)coe andMarginArray:(NSArray<NSNumber *> *)marginArray {
  NSArray *beginColorArr = [self getRGBDictionaryByColor:beginColor];
  double red = [beginColorArr[0] doubleValue] + coe * [marginArray[0] doubleValue];
  double green = [beginColorArr[1] doubleValue]+ coe * [marginArray[1] doubleValue];
  double blue = [beginColorArr[2] doubleValue] + coe * [marginArray[2] doubleValue];
  return RGBNUM(red, green, blue);
}

把獲取到的顏色賦值給相應(yīng)的控件,這樣便完成了一個(gè)顏色過(guò)渡的效果。

以上所述是小編給大家介紹的iOS開(kāi)發(fā)中如何實(shí)現(xiàn)一個(gè)平滑的顏色過(guò)渡,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS開(kāi)發(fā)中使用UIScrollView實(shí)現(xiàn)圖片輪播和點(diǎn)擊加載

    iOS開(kāi)發(fā)中使用UIScrollView實(shí)現(xiàn)圖片輪播和點(diǎn)擊加載

    這篇文章主要介紹了iOS開(kāi)發(fā)中使用UIScrollView實(shí)現(xiàn)圖片輪播和點(diǎn)擊加載的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-12-12
  • iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié)

    iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié)

    UITextView在用戶體驗(yàn)方面有著十分明顯的作用,包括鍵盤(pán)的呼出及文字的選擇等,接下來(lái)就來(lái)整理給出一份iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié),需要的朋友可以參考下
    2016-05-05
  • iOS Moya實(shí)現(xiàn)OAuth請(qǐng)求的方法

    iOS Moya實(shí)現(xiàn)OAuth請(qǐng)求的方法

    這篇文章主要介紹了iOS Moya實(shí)現(xiàn)OAuth請(qǐng)求的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • iOS小數(shù)取整的方法(ceil?floor?round)示例

    iOS小數(shù)取整的方法(ceil?floor?round)示例

    這篇文章主要為大家介紹了iOS小數(shù)取整的方法(ceil?floor?round)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • iOS中使用UIDatePicker制作時(shí)間選擇器的實(shí)例教程

    iOS中使用UIDatePicker制作時(shí)間選擇器的實(shí)例教程

    這篇文章主要介紹了iOS中使用UIDatePicker制作時(shí)間選擇器的實(shí)例教程,實(shí)例中未選中的時(shí)間項(xiàng)目會(huì)講解一個(gè)將其變透明的方法,非常給力,需要的朋友可以參考下
    2016-05-05
  • 鍵盤(pán)彈出時(shí)會(huì)覆蓋文本框怎么解決

    鍵盤(pán)彈出時(shí)會(huì)覆蓋文本框怎么解決

    在一些網(wǎng)站登陸界面,我們經(jīng)常會(huì)見(jiàn)到,鍵盤(pán)的出現(xiàn)與隱藏操作,那么基于代碼是如何實(shí)現(xiàn)的呢?下面小編寫(xiě)了具體代碼介紹,特此分享到腳本之家平臺(tái),供大家參考
    2016-04-04
  • iOS中設(shè)置view圓角化的四種方法示例

    iOS中設(shè)置view圓角化的四種方法示例

    最近因?yàn)楣ぷ鞯脑?遇到view圓角優(yōu)化的問(wèn)題,所以將實(shí)現(xiàn)的幾種方法總結(jié)分享出來(lái),下面這篇文章主要給大家介紹了關(guān)于iOS中設(shè)置view圓角化的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • iOS貝塞爾曲線畫(huà)哆啦A夢(mèng)的代碼實(shí)例

    iOS貝塞爾曲線畫(huà)哆啦A夢(mèng)的代碼實(shí)例

    本篇文章主要介紹了iOS貝塞爾曲線畫(huà)哆啦A夢(mèng)的代碼實(shí)例,這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-07-07
  • iOS實(shí)現(xiàn)容器視圖控制器的方法

    iOS實(shí)現(xiàn)容器視圖控制器的方法

    本篇文章給大家詳細(xì)講述了iOS實(shí)現(xiàn)容器視圖控制器的方法,對(duì)此感興趣的朋友可以測(cè)試學(xué)習(xí)下。
    2018-02-02
  • iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法

    iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法

    下面小編就為大家?guī)?lái)一篇iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04

最新評(píng)論

孝义市| 于都县| 会泽县| 孟村| 区。| 怀宁县| 温州市| 静海县| 长宁县| 鱼台县| 凌海市| 大石桥市| 开平市| 威远县| 合江县| 永昌县| 青神县| 巫山县| 宣汉县| 章丘市| 长乐市| 西藏| 青海省| 贵阳市| 崇仁县| 星子县| 灯塔市| 沂源县| 汾阳市| 泗洪县| 台东市| 博湖县| 台湾省| 宁南县| 陆良县| 通州区| 错那县| 汉川市| 基隆市| 石棉县| 永泰县|