-1

我在 for 循环中声明了几个添加到我的 UIScroll 视图中的 UIView,我想知道如何在循环进行时更改每个 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];

    }
4

2 回答 2

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 的常数值添加到至少红色分量,您会看到不同的颜色。

于 2013-11-07T01:15:04.090 回答
1

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

于 2013-11-07T01:17:35.500 回答