1

長方形の辺の周りにグローを作成しようとしています。長方形の残りの部分は、クリア カラーで塗りつぶす必要があります。UIView特定のサイズのwithを作成してCGRectから -

    self.backgroundColor = [UIColor clearColor];

    self.layer.borderWidth = 2.0f;
    self.layer.borderColor = [UIColor colorWithRed:203/255.0 green:1.0 blue:252/255.0 alpha:1.0f].CGColor;
    self.layer.cornerRadius = 5.0f;
    int glowSpread = 2;
    CGRect glowRect = CGRectMake(self.bounds.origin.x-glowSpread, self.bounds.origin.y-glowSpread, self.bounds.size.width+2*glowSpread, self.bounds.size.height+2*glowSpread);
    self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:glowRect cornerRadius:5.0].CGPath;
    self.layer.shadowColor = [UIColor colorWithRed:203/255.0 green:1.0 blue:252/255.0 alpha:1.0f].CGColor;
    self.layer.shadowOffset = CGSizeMake(0, 0);
    self.layer.shadowOpacity = 0.5;
    self.layer.shadowRadius = 2.0f;

上記のアプローチでは、側面の周りに輝きがありますが、全体CGRectが影の色で塗りつぶされてしまい、これは望ましくありません。なにか提案を?

4

1 に答える 1

0

囲まれていないより複雑なシャドウ パスを作成するか、必要な色のサブレイヤーを追加するだけです。

于 2013-06-13T19:15:27.273 に答える