12

UIView の下部 (半分ではない) を上部とは異なる色にしたい。

CGRect を作成してから色を付けるべきかどうか疑問に思っていますか? これは正しい軌道に沿っていますか?

- (void)drawRect:(CGRect)rect { 

    CGRect aRect = CGRectMake(x, y, width, height);

    // Fill the rectangle with grey
    [[UIColor greyColor] setFill];
    UIRectFill( rect );
}
4

6 に答える 6

1

CALayer をサブレイヤーとしてビューに追加することもできます。CoreGraphics と QuartzCore フレームワークを含め、drawRect メソッドで目的のフォーム ファクターを使用して CGRect を作成します。rect で CALayer をインスタンス化し、[self.layer addSublayer:theLayer] を使用してビューのレイヤーに追加します。追加する前に、CALayer の -setBackgroundColor: メソッドを使用します。

これが View サブクラスではなく View Controller 内にある場合は、viewDidLoad メソッドでまったく同じことを行います。

ブライアン

于 2013-08-05T17:56:48.510 に答える
0

CGRect を実行して、塗りつぶす部分の一部を切り取ることができます。

しかし、隣り合わせに配置された 2 つの異なる UIView を試してみませんか?

バーラト

于 2013-08-05T17:31:26.977 に答える