【问题标题】:UITabBar title hexa valueUITabBar 标题十六进制值
【发布时间】:2013-12-10 08:41:47
【问题描述】:

我需要为 UITabBar 标题设置十六进制值(特定颜色值)。我知道下面的代码是正常的。我需要设置十六进制值而不是蓝色。如果我需要设置 #33223 意味着我该怎么办?

 [[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor :[UIColor colorWithRed:5 green:112 blue:180 alpha:2]} forState:UIControlStateNormal];

【问题讨论】:

标签: ios uitabbarcontroller uitabbar uitabbaritem


【解决方案1】:
- (UIColor *)getUIColorObjectFromHexString:(NSString *)hexStr alpha:(CGFloat)alpha
{
  // Convert hex string to an integer
  unsigned int hexint = [self intFromHexString:hexStr];

  // Create color object, specifying alpha as well
  UIColor *color =
    [UIColor colorWithRed:((CGFloat) ((hexint & 0xFF0000) >> 16))/255
    green:((CGFloat) ((hexint & 0xFF00) >> 8))/255
    blue:((CGFloat) (hexint & 0xFF))/255
    alpha:alpha];

  return color;
}

用法:

NSString *hexStr1 = @"123ABC";
UIColor *color1 = [self getUIColorObjectFromHexString:hexStr1 alpha:.9];
NSLog(@"UIColor: %@", color1);

【讨论】:

    【解决方案2】:

    将六色转换为 Rgb 并使用[UIColor colorWithRed:200 green:191 blue:231 alpha:1]

    【讨论】:

    • 它不工作。请参阅我所做的编辑代码。仅显示相同的白色。
    • 为什么不采用自定义 RGB 值颜色?
    • 它应该采用自定义颜色。 sry 应该是浮点数。所以 200/255.0f 等一个可以让它工作。所以 #008000 = gree, UIColor *greenColor = [UIColor colorWithRed:0/255.0 green:128/255.0 blue:0/255.0f alpha:1] 这应该给你一个绿色。我的十六进制只有黑色 #33223。
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2020-10-25
    • 2021-02-25
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多