CoreGraphics ドロップシャドウ
CoreGraphicsには, 影をつける機能として,Drop ShadowがつけられるAPIがあります。
CGContextSetShadowWithColorです。
ちなみに, CGContextSetShadowというのもあります。これだと黒い影をつけるだけです。
サンプル
- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); // Drawing code UIColor* iconBottomShadow = [UIColor colorWithRed: 1 green: 1 blue: 1 alpha: 0.8]; CGSize iconBottomShadowOffset = CGSizeMake(0.1, 2.1); CGFloat iconBottomShadowBlurRadius = 4; CGContextSetShadowWithColor(context, iconBottomShadowOffset, iconBottomShadowBlurRadius, iconBottomShadow.CGColor); UIBezierPath* shadowRectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(6, 3, 57, 57) cornerRadius: 11]; [shadowRectanglePath fill]; }
ベジエ曲線でiPhoneっぽいアイコンを作ったところに, 白っぽい影がかかります。