Я искал, но не смог найти причину такого поведения.
У меня есть кнопка UIB, изображение которой я настраиваю.Вот как должна выглядеть кнопка.Обратите внимание, что это всего лишь фотошоп предполагаемого дизайна кнопок:
![enter image description here](https://i.stack.imgur.com/MlMKg.jpg)
По сути, это квадратная пользовательская кнопка UIB с белой рамкой и небольшой окружающей тенью.В верхнем правом углу есть метка «X», которая будет добавлена программным способом как подпредставление.
Вот скриншот кнопки внутри самого приложения.На данный момент я только добавил тень и отметку X в качестве подпредставления:
![enter image description here](https://i.stack.imgur.com/brKO6.jpg)
Как, когда я пытаюсь добавить белую рамку, вот как это выглядит:
![enter image description here](https://i.stack.imgur.com/c8cyB.jpg)
Кажется, что белая граница появляется над подуровнем метки 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.Есть ли способ получить желаемый эффект?
Спасибо!