1

背景画像、上部の角が丸く、影のあるUIButtonが必要です。コードは次のとおりです

スタックオーバーフローから多くの投稿を試みましたが、うまくいきませんでした。

以下を使用して、角が丸い背景画像と影を持つ UIButton を追加できました。

CALayer *imageLayer = [imageButton layer];
imageLayer.frame =  CGRectMake(110, 190, 100, 100);
imageLayer.cornerRadius = 10.0; 
imageLayer.shadowColor = [UIColor grayColor].CGColor;
imageLayer.shadowOpacity = 1.0;
imageLayer.shadowRadius = 1;
imageLayer.shadowOffset = CGSizeMake(03.0f, 08.0f);
imageLayer.masksToBounds = YES;


CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.shadowOffset = CGSizeMake(5, 8);
sublayer.shadowRadius = 2.0;
sublayer.shadowColor = [UIColor grayColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = imageLayer.frame;
sublayer.borderColor = [UIColor blackColor].CGColor;
sublayer.borderWidth = 0.0;
sublayer.cornerRadius = 10.0;

[imageButton.layer.superlayer insertSublayer:sublayer atIndex:0];

どうすれば上の角を丸くすることができますか。

4

3 に答える 3

1

角を丸くするには、グラデーションレイヤー CAGradientLayer を使用する必要があります。

于 2012-07-19T11:26:13.427 に答える
1

忘れないで

#import <QuartzCore/QuartzCore.h>

CAGradientLayer を使用している場合

于 2012-07-19T11:29:54.407 に答える
0

ColoredRoundedButtonオープン ソース実装を見ることができます。cornerRadiusUIButton のプロパティを使用してCALayer角を丸くします。

于 2012-07-19T12:45:44.360 に答える