Runde Spitze Ecken einer UIView und Rand hinzufügen

Ich habe folgenden code in einer Kategorie, hat die Rundung der Ecken. Ich würde auch gerne einen Rahmen zeichnen. Aber die Grenze ist nicht dargestellt, auf dem Runden Teil in der Ecke.

Runde Spitze Ecken einer UIView und Rand hinzufügen

Hier ist der code

- (void) roundTopCorners:(CGFloat) radius
{
    self.layer.masksToBounds = YES;

    CGRect bounds = self.bounds;
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:CGSizeMake(radius, radius)];

    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.frame = bounds;
    maskLayer.path = maskPath.CGPath;
    maskLayer.strokeColor = [UIColor redColor].CGColor;

    self.layer.mask = maskLayer;
}
  • "Beachten Sie, dass, wenn Sie versuchen, verwenden Sie diese Art des framing auf Ansichten, die Größe dynamisch (in Reaktion auf autorotation zum Beispiel) du musst ein bisschen vorsichtiger sein, da die Schichten nicht nutzen kann, "auto-layout". In diesem Fall die beste Lösung ist wahrscheinlich zu erstellen Sie eine benutzerdefinierte UITextField und implementieren layerClass die Rückgabe eines benutzerdefinierten layer-Klasse, die sich dynamisch ändert, Schichten, ähnlich denen weiter oben erstellt haben. @David Berry" eigentlich ist es nicht so, dass ticky, wenn Sie wollen die Größe aller dieser Schichten, setzen Sie einfach den code in der viewDidAppear, es wird funktionieren!
InformationsquelleAutor aniruddhc | 2014-03-14
Schreibe einen Kommentar