2016-06-14 13 views
0

Ich fand dieses Muster auf pttrns.com. Wie kann ich die Navigationsleiste in Swift so kurvig gestalten?Benutzerdefinierte Navigationsleiste in Swift

Pattern image

+0

Sie können es machen, indem Sie die Navigationsleiste transparent setzen. Dann können Sie in Ihrem View-Controller die Ansicht hinzufügen (es könnte Bildansicht, Ansicht mit geformter Ebene usw. sein). –

Antwort

0

können Sie erstellen nur ein leeres navigationBar und den Hintergrund der ViewController diesen Effekt zu erstellen verwenden. Zum Beispiel, erstellen Sie das Bild mit dieser Kurve oben und legen Sie das Bild als ViewController fest. Erstellen Sie eine UIView, die das gesamte ViewController und in Ihnen Klasse Abdeckkappenset

var mainScreenSize : CGSize = UIScreen.mainScreen().bounds.size // Getting main screen size of iPhone 

@IBOutlet weak var viewBG: UIView! 
let imageObbj:UIImage! = self.imageResize(UIImage(named: "YourImage")!, sizeChange: CGSizeMake(mainScreenSize.width, mainScreenSize.height)) 
self.viewBG.backgroundColor = UIColor(patternImage: image) 

EDIT:

Mit dieser Funktion können Sie die Bildgröße auf Bildschirmgröße einzustellen. Ich ändere auch meinen Code oben.

func imageResize (imageObj:UIImage, sizeChange:CGSize)-> UIImage{ 

     let hasAlpha = false 
     let scale: CGFloat = 0.0 // Automatically use scale factor of main screen 

     UIGraphicsBeginImageContextWithOptions(sizeChange, !hasAlpha, scale) 
     imageObj.drawInRect(CGRect(origin: CGPointZero, size: sizeChange)) 

     let scaledImage = UIGraphicsGetImageFromCurrentImageContext() 
     return scaledImage 
    } 
+0

Was ist mit den Abmessungen des Bildes? –

+0

Ich habe meine Antwort mit einer Funktion bearbeitet, um die Größe des Bildes auf die Bildschirmgröße zu ändern. Sie müssen ein Bild erstellen, das dem Seitenverhältnis eines iPhone oder iPad entspricht. In meinem Projekt verwende ich 1080x1920 und passt gut – kileros

+0

Ok, also mache ich ein Vektorbild mit einem kurvenreichen Pfad und dann füge ich dieses Bild als Unteransicht der Navbar, richtig? –

-1

Sie können nicht. Sie müssen Ihren eigenen benutzerdefinierten Ansichtscontroller erstellen, der sich für dieses Beispiel wie eine Navigationsleiste verhält.

+0

ist Sie tun ein Beispiel, um besser zu verstehen? –

+1

Sie hätten dies einfach kommentieren können. Dies ist keine konstruktive Antwort auf das Ziel der Frage. Es gibt auch Möglichkeiten, wie eine solche Navigationsleiste erreicht werden kann. Sie sollten recherchieren, bevor Sie solche Antworten veröffentlichen. –

Verwandte Themen