我声明在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];
}
任何帮助将不胜感激。
答案 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的数字。