18

UIViewController に UIView を追加したいのですが、UIView 内に Oval を作成することを決定するまで透明にしたいと考えています。

楕円形を作成するまで、ビューのアルファを 0 に設定できますが、楕円形を追加したい場合、背景色はまだ黒です。

これは、楕円形の束でどのように見えるかです

画像

私のUIViewで:

- (void)drawRect:(CGRect)rect
{
    [self pushContext];
    UIBezierPath *oval = [UIBezierPath bezierPathWithOvalInRect:self.bounds];
    [[UIColor redColor] setFill];
    [oval fill];
    self.opaque = NO;
    [self setBackgroundColor:[UIColor clearColor]];

    [oval addClip];
    [self setBackgroundColor:[UIColor clearColor]];

    [self popContext];
}
4

5 に答える 5

28

これを使ってみてください

view.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.0];
view.opaque = NO;
于 2013-03-15T05:17:28.873 に答える
18
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code

        self.opaque = NO;

    }
    return self;
}



- (void)drawRect:(CGRect)rect
{
    [[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.0] setFill];
    UIRectFill(rect);
    [self pushContext];
    UIBezierPath *oval = [UIBezierPath bezierPathWithOvalInRect:self.bounds];
    [[UIColor redColor] setFill];
    [oval fill];

    [oval addClip];

    [self popContext];
}
于 2013-03-15T05:24:13.100 に答える
5

ViewController では、不透明は NO と言えます。ビューの名前が myCustomView だとします。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.myCustomView.opaque = NO;   
}

または、ストーリーボードに移動して、不透明なチェックボックスをオフにすることもできます- ここに画像の説明を入力

于 2016-01-01T14:38:34.217 に答える