2017-02-08 4 views
-1

Ich bemerkte, dass sie in Snapchat ihre Ecken eines uiviewcontrollers rundeten. Ich frage mich, wie ich das gleiche über alle View-Controller replizieren könnte. Würde ich es im App-Delegaten oder in jedem einzelnen View-Controller deklarieren. Könnte mir bitte jemand zeigen, wie es geht. Ich habe ein Beispielbild unten. Schau in die oberen Ecken des View-Controllers und du wirst sehen, dass dort abgerundet ist. Ich versuche das zu replizieren.So fügen Sie einen Eckradius zu einem uiviewcontroller hinzu

example image

+0

Sie brauchen keinen Eckenradius zu einem * UIViewController * hinzufügen, können Sie es in eine * UIView der Ebene hinzufügen *. Es mag wie eine subtile Sache erscheinen, aber Sie werden MVC nicht vollständig verstehen, bis Sie das wissen. – dfd

Antwort

0

Erstens ist das eine ziemlich schlechte Idee. Ich würde vorschlagen, dass Sie die HIG documentation beim Entwerfen Ihrer UI betrachten.

Um dies zu implementieren, können Sie eine Basisklasse erstellen, die von UIViewController erbt, wo Sie layer.cornerRadius der view-Eigenschaft festlegen würden. Dann können Sie alle View-Controller von Ihrer Basisklasse erben lassen. Sie können dies entweder in viewDidLoad oder viewWillAppear in Ihrer Basisklasse

4

tun. Sie könnten eine Erweiterung verwenden, dann können Sie einen Eckenradius auf jeder Ansicht anwenden, einschließlich der View-Controller-Ansicht. Ich habe es nicht versucht.

extension UIView { 
    func makeCorner(withRadius radius: CGFloat) { 
     self.layer.cornerRadius = radius 
     self.layer.masksToBounds = true 
     self.layer.isOpaque = false 
    } 
} 

Verbrauch:

myController.view.makeCorner(withRadius: 10.0) 
+0

'func roundCorners (mit Radius: CGFloat) {...}' – raidfive

+0

Wie kann ich das hinzufügen – Rosalind

+0

Was würde in dieser Funktion gehen – Rosalind

Verwandte Themen