UIView背景颜色不变

时间:2013-11-07 01:06:13

标签: ios uiview uiscrollview background-color uicolor

我声明在for循环中添加到我的UIScroll视图中的几个UIViews,我想知道在循环进行时如何更改每个UIView背景的颜色。目前每个UIVIew都保持相同的颜色灰色。

这是我的代码看起来像

UIScrollView *htmlContainerScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 60.0, self.view.frame.size.width, 293.0)];
    NSInteger viewcount = 4;
    color = 0;
    for(int i = 0; i< viewcount; i++) {
        color = color + 4;
        NSLog(@"%f", color);
        CGFloat y = i * self.view.frame.size.height;
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];
        view.backgroundColor = [UIColor colorWithRed:(200.0 + i)/255.0 green:(200.0 + i)/255.0 blue:(200.0 + i)/255.0 alpha:1.0];;
        [htmlContainerScrollView addSubview:view];

    }

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

问题出在这一行:

view.backgroundColor = [UIColor colorWithRed:(200.0 + i)/255.0 green:(200.0 + i)/255.0 blue:(200.0 + i)/255.0 alpha:1.0];;

每当红色,绿色和蓝色具有相同的值时,颜色为灰色。

添加不同于200的常数值,至少为红色组件,你会看到不同的颜色。

答案 1 :(得分:1)

问题在于,当您尝试更改颜色时,添加“i”而不是“颜色”,因此您只需在您的200中添加1,2,3和4,这将是不明显的。当您增加颜色时,也可以尝试使用大于4的数字。