簡體   English   中英

動態更改設計元素顏色

[英]Dynamically Change Design Element Colors

我正在嘗試制作一個應用程序,該應用程序可以在服務器端更改導航欄等內容的顏色。 在我的應用程序委托中,我為 UIColors 使用十六進制代碼設置了一個定義,如下所示:

#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

我的想法是在 Parse 服務器上創建一個類,其中包含應用程序不同元素的列,每個條目包含一個看起來像“0xFF0000”的字符串。 然后我可以查詢 Parse,檢索它,將字符串轉換為 int 值,並將其插入

   UIColor *tabBarColor = UIColorFromRGB(valueFromParse);

但是,似乎所有東西中間的 x 都會引起我的問​​題。 有什么建議?

您可以使用NSScanner將十六進制字符串轉換為數值:

例如:

NSString *s = @"0x00ff00";

unsigned result = 0;
NSScanner *scanner = [NSScanner scannerWithString:s];
[scanner scanHexInt:&result];

UIColor *c = UIColorFromRGB(result);
self.view.backgroundColor = c;

當然,您會想要實現錯誤處理/字符串格式檢查...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM