Szukałem, ale nie mogłem znaleźć przyczyny tego zachowania.Granica KALKOMERZA pojawia się powyżej widoku podrzędnego (w kolejności Z, myślę)
Mam UIButton, którego obraz ustawiam. Oto, jak powinien się pojawić przycisk. Należy pamiętać, że jest to tylko photoshop planowanego projektu przycisk:
Zasadniczo, jest to kwadrat niestandardowe UIButton z białym obramowaniem i trochę otaczającej cienia. W prawym górnym rogu znajduje się znak "X", który zostanie dodany programowo jako wyeksportowany widok.
Oto zrzut ekranu przycisku w rzeczywistej aplikacji. W tym momencie mam tylko dodaje cień i znak X jako podrzędny:
Jak, kiedy próbuję dodać białą obwódkę, oto jak to wygląda:
Wygląda na to, że biała granica pojawia się powyżej podwarstwy znaku X. Nie wiem dlaczego.
Oto kod, który używam:
// 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];
Nie rozumiem dlaczego ta granica jest wyświetlana powyżej podrzędny deleteMark. Czy istnieje jakiś sposób uzyskania zamierzonego efektu?
Dziękujemy!
Zamiast ustawiać ramkę, spróbuj ją narysować! – tipycalFlow
@tipycalFlow wtf dlaczego? –
@returntrue To jest dość stary, ale myślę, że prosiłem o kontrolę nad kolejnością rysowania – tipycalFlow