3

UIViews別の色の外観を与えるために、異なる背景色とアルファで2 つ以上を重ねる方法はありますか? たとえばUIView、青の上に赤を配置UIViewして、単一のマゼンタの外観を与えUIViewます。

4

4 に答える 4

0

これにより、紫色のビューが得られますが、問題ありません。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *view1 = [[UIView alloc] initWithFrame:self.view.bounds];
    view1.backgroundColor = [UIColor colorWithRed:1.f green:0.f blue:0.f alpha:0.5f];
    [self.view addSubview:view1];

    view1 = [[UIView alloc] initWithFrame:self.view.bounds];
    view1.backgroundColor = [UIColor colorWithRed:0.f green:0.f blue:1.f alpha:0.5f];
    [self.view addSubview:view1];
}
于 2013-10-01T13:27:33.930 に答える
0

次のように alpha プロパティを使用できます。

UIView *redView = [[UIView alloc] initWithFrame: CGRectMake(0,0,20,20)];
redView.backgroundColor = [UIColor redColor];
UIView *blueView = [[UIView alloc] initWithFrame: CGRectMake(0,0,20,20)];
blueView.backgroundColor = [UIColor blueColor];
blueView.alpha = 0.5;
[redView addSubview: blueView];

これは、UIColor の RGB 作成メソッドを使用して手動で必要な色を取得することにより、単一のビューで実現するのがはるかに簡単になることに注意してください。

UIView *magentaView = [[UIView alloc] initWithFrame: CGRectMake(0,0,20,20)];
UIColor *magenta = [UIColor colorWithRed: 1 
                                   green: 0
                                    blue: 1 
                                   alpha: 1];
magentaView.backgroundColor = magenta;

RGB 値は 0 から 1 の間であることに注意してください (標準の 0 -> 255 の範囲ではなく、通常ほとんどが指定されます)。アルファ値は不透明度を表します。

于 2013-10-01T13:26:27.490 に答える