【问题标题】:Dynamically Change Design Element Colors动态更改设计元素颜色
【发布时间】:2021-12-22 10:41:27
【问题描述】:

我正在尝试制作一个应用程序,该应用程序可以在服务器端更改导航栏之类的颜色。在我的应用程序委托中,我为 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 都会引起我的问​​题。有什么建议吗?

【问题讨论】:

    标签: ios xcode parse-platform integer nsstring


    【解决方案1】:

    您可以使用NSScanner 将十六进制字符串转换为数值:

    例如:

    NSString *s = @"0x00ff00";
    
    unsigned result = 0;
    NSScanner *scanner = [NSScanner scannerWithString:s];
    [scanner scanHexInt:&result];
    
    UIColor *c = UIColorFromRGB(result);
    self.view.backgroundColor = c;
    

    当然,您会想要实现错误处理/字符串格式检查...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      相关资源
      最近更新 更多