2016-06-14 4 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) 

EDIT:

Используйте эту функцию, чтобы установить размер изображения по размеру экрана. Я также меняю свой код выше.

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

Вы могли бы просто прокомментировать это. Это не ответ, который является конструктивным по отношению к цели вопроса. Кроме того, существуют способы, с помощью которых такая навигационная панель может быть достигнута. Перед публикацией таких ответов вы должны исследовать. –

Смежные вопросы