UIBezierPath funktioniert nicht in der TopRight-Ecke und der BottomRight-Ecke

9

Ich möchte meine rechten Ecken abrunden, funktioniert aber nur für linke Ecken

%Vor%     
Diego Quiroz 28.02.2016, 17:23
quelle

3 Antworten

21

Das Problem besteht darin, dass Sie die Grenzen der Ansicht erhalten, bevor die Größe für das aktuelle Gerät geändert wurde. Es ist größer als es später sein wird, wenn es auf dem Bildschirm erscheint, also ist die rechte Seite Ihres gerundeten Rect von der rechten Seite des Bildschirms.

Sie müssen path erstellen und maskLayer.path später festlegen, nachdem die Größe der Ansicht geändert wurde, dh während oder nach der Layoutphase der Laufschleife. Also entweder Unterklasse der Ansicht und tun Sie es in der layoutSubviews -Methode der Ansicht, oder tun Sie es in der viewDidLayoutSubviews -Methode des View-Controllers.

    
rob mayoff 05.03.2016, 07:26
quelle
7

Schnell 3

Es funktioniert für mich!

%Vor%

Sie können die Methode "roundCorners" hier überprüfen: Ссылка

    
matt 05.05.2017 14:56
quelle
1

Wenn Sie versucht haben, die auf Storyboard ODER Xib designierten RoundingCorners for View zu setzen, dann setzen Sie bitte die Ecke und MaskLayer.path in die unten stehende Methode.

%Vor%     
Kiran K 14.02.2017 06:03
quelle

Tags und Links