2016-06-14 129 views
0

我在pttrns.com上發現此模式。我如何在Swift中使導航欄線條像這樣彎曲?Swift中的自定義導航欄

Pattern image

+0

您可以通過設置導航欄半透明。然後在你的視圖控制器中,你可以添加視圖(可以是圖像視圖,帶有圖形的視圖等)到頂部。 –

回答

0

您只需創建一個空白navigationBar,並使用ViewController的背景下產生這種效果。例如,用頂部的曲線創建圖像,並將圖像設置爲ViewController。創建UIView覆蓋整個ViewController和你類中設置

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) 

編輯:

使用此功能設置圖像大小的屏幕尺寸。我也改變了我的代碼。

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

圖像的尺寸如何? –

+0

我用一個函數編輯我的答案,將圖像的大小更改爲大小os屏幕。您需要創建適合iPhone或iPad寬高比的圖像。在我的項目中,我使用的是1080x1920,非常適合 – kileros

+0

好的,我用彎曲的路徑製作矢量圖像,然後將此圖像作爲Navbar的子視圖添加,對不對? –

-1

你不能。您必須創建自己的自定義視圖控制器,該控制器的行爲與該示例的導航欄相似。

+0

can你做一個例子來更好地理解? –

+1

你可能剛剛評論過這個。這不是對這個問題的目標有建設性的答案。此外,還可以通過這些導航欄來實現。發佈此類答案之前,您應該研究。 –