我正在声明几个UIViews,这些UIViews在for循环中添加到我的UIScroll视图中,我想知道如何在循环进行时更改每个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];
}
问题出在这一行:
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 不同的常量值至少到红色分量,您将看到不同的颜色。
问题是当你尝试改变颜色时,你添加"i"而不是"color",所以你只在你的 200 中添加 1、2、3 和 4,这不会很明显。在增加颜色时,也可以尝试使用大于 4 的数字。