検索しましたが、この動作の理由を見つけることができませんでした。
イメージを設定している UIButton があります。ボタンの表示方法は次のとおりです。これは、意図したボタン デザインのフォトショップに過ぎないことに注意してください。
基本的に、これは白い境界線と周囲の小さな影を持つ正方形のカスタム UIButton です。右上隅に「X」マークがあり、プログラムによってサブビューとして追加されます。
これは、実際のアプリ内のボタンのスクリーンショットです。この時点で、サブビューとして影と X マークのみを追加しました。
白い境界線を追加しようとすると、次のようになります。
X マーク サブレイヤーの上に白い枠線が表示されているようです。どうしてか分かりません。
私が使用しているコードは次のとおりです。
// selectedPhotoButton is the UIButton with UIImage set earlier
// At this point, I am adding in the shadow
[selectedPhotoButton layer] setShadowColor:[[UIColor lightGrayColor] CGColor]];
[[selectedPhotoButton layer] setShadowOffset: CGSizeMake(1.0f, 1.0f)];
[[selectedPhotoButton layer] setShadowRadius:0.5f];
[[selectedPhotoButton layer] setShadowOpacity:1.0f];
// Now add the white border
[[selectedPhotoButton layer] setBorderColor:[[UIColor whiteColor] CGColor]];
[[selectedPhotoButton layer] setBorderWidth:2.0];
// Now add the X mark subview
UIImage *deleteImage = [UIImage imageNamed:@"nocheck_photo.png"];
UIImageView *deleteMark = [[UIImageView alloc] initWithFrame:CGRectMake(53, -5, 27, 27)];
deleteMark.contentMode = UIViewContentModeScaleAspectFit;
[deleteMark setImage:deleteImage];
[selectedPhotoButton addSubview:deleteMark];
[deleteMark release];
deleteMark サブビューの上に境界線が表示される理由がわかりません。意図した効果を得る方法はありますか?
ありがとうございました!