質問

私は、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];

    }
役に立ちましたか?

解決

問題はこの行にあります:

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」を追加することです。したがって、目に見えない200に1、2、3、および4を追加することです。色を増やすと、4よりも多くの数字を使用してみることがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top