uicololcolorwithred:green:blue:alpha:总是返回白色,除非其中一个参数为0



我使用

[UIColor colorWithRed:136 green:155 blue:218 alpha:1.0]; 

更改表格视图单元格的背景颜色。

但是由于某种原因,背景还是白色的。如果我尝试

[UIColor colorWithRed:0 green:155 blue:218 alpha:1.0]; 

颜色改变。这对我来说没有意义。有什么建议吗?

该参数的取值范围不是0到255,而是介于0.0到1.0之间的浮点数:

[UIColor colorWithRed:0.0f/255.0f green:155.0f/255.0f blue:218.0f/255.0f alpha:1.0f]; 

值必须是浮点数(在0.0到1.0范围内),而不是整型(在0到255范围内)

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha

试题:

[UIColor colorWithRed:136.0/255.0 green:155.0/255.0 blue:218.0/255.0 alpha:1.0]; 

参数不是整数而是浮点数,所以您可能希望将所有颜色浮动值除以255。这样的:

  [UIColor colorWithRed:136.0/255 green:155.0/255 blue:218.0/255 alpha:1.0];

这就是为什么当你将红色设置为0而不是136时颜色会改变的原因。

将iOS 11的导航栏设置为透明

(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                                  forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    self.navigationController.navigationBar.translucent = YES;
    self.navigationController.view.backgroundColor = [UIColor clearColor];
    self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
}

最新更新