Swift中的自定义导航栏

时间:2016-06-14 15:52:09

标签: ios xcode swift ios9

我在pttrns.com上发现了这种模式。如何在Swift中使导航栏线像这样弯曲?

Pattern image

2 个答案:

答案 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
    }

答案 1 :(得分:-1)

你做不到。您必须创建自己的自定义视图控制器,其行为类似于该示例的导航栏。