2014-09-10 47 views
0

如何可以根據信號強度輸入(到1.0 0.0之間)改變一個UITableViewCell的背景顏色從紅色=>橙=>綠。 我的應用程序每秒都會獲得信號強度,我希望隨着信號強度的變化改變單元的整個背景顏色。假設信號強度從0.0變化到0.3時,背景顏色應該從紅色=>紅色+橙色(紅色+橙色混合)=>橙色變化。如何混合顏色以獲得結果?如何從紅色改變的UITableViewCell的背景顏色爲橙色到綠色順利

+0

這是一個簡單的'UIView animateWithDuration..'問題,嵌套。 UIView動畫將關注色彩混合。 – n00bProgrammer 2014-09-10 13:23:26

+0

@ n00bProgrammer你可以請多解釋一下,我不習慣iOS中的動畫和漸變。 – CodeWeed 2014-09-10 13:35:30

回答

0

試試下面的代碼。按照我的預期工作。

yourCell這裏是其backgroundColor你想改變的細胞。

這是一個基本的示例代碼。根據您的需要,您將不得不根據不同的狀態更改進行修改。

[UIView animateWithDuration:1 
       animations:^{ 

        yourCell.contentView.backgroundColor = [UIColor redColor]; 

       } completion:^(BOOL finished) { 

        [UIView animateWithDuration:1 
             animations:^{ 

              yourCell.contentView.backgroundColor = [UIColor orangeColor]; 

             } completion:^(BOOL finished) { 

              [UIView animateWithDuration:1 
                  animations:^{ 

                   yourCell.contentView.backgroundColor = [UIColor greenColor]; 
                  }]; 

             }]; 

       }]; 
+0

我想你誤解了我的問題......問題是我需要中間色留下來,並根據信號強度的變化順利變化。 – CodeWeed 2014-09-10 14:18:52

+0

它是一個單細胞,你想要改變顏色還是不止一個細胞? – n00bProgrammer 2014-09-11 05:49:16