Ich habe gesucht, konnte aber nicht den Grund für dieses Verhalten finden.CALayer Border erscheint über Unteransicht (Z-Reihenfolge verwandt, denke ich)
Ich habe eine UIButton, deren Bild ich setze. So sollte der Button aussehen. Beachten Sie, dass dies nur ein photoshop der beabsichtigten Tasten-Design:
Im Wesentlichen ist es ein Quadrat Brauch ist UIButton mit einem weißen Rand und einem kleinen umgebenden Schatten. In der oberen rechten Ecke befindet sich ein "X" -Marker, der programmatisch als Unteransicht hinzugefügt wird.
Hier ist der Screenshot der Schaltfläche innerhalb der eigentlichen App. Zu diesem Zeitpunkt habe ich hinzugefügt nur einen Schatten und die Markierung X als Subview:
Wie, wenn ich versuche, die weiße Grenze zu addieren, hier ist, wie es aussieht:
Es scheint, dass der weiße Rahmen über der X-Mark-Unterschicht erscheint. Ich weiß nicht warum. Hier
ist der Code, den ich verwende:
// 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];
Ich verstehe nicht, warum die Grenze über dem DeleteMark subview erscheinen. Gibt es eine Möglichkeit, den beabsichtigten Effekt zu erzielen?
Vielen Dank!
Anstatt den Rahmen zu setzen, versuchen Sie es zu zeichnen! – tipycalFlow
@tipycalFlow wtf warum? –
@returntrue Das ist ziemlich alt, aber ich denke, ich wollte die Zeichenreihenfolge kontrollieren – tipycalFlow