我已经搜索但找不到这种行为的原因。
我有一个 UIButton 我正在设置其图像。这是按钮的显示方式。请注意,这只是预期按钮设计的 Photoshop:
本质上,它是一个方形的自定义 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 子视图上方。有什么办法可以达到预期的效果吗?
谢谢!