2016-06-30 2 views
0

Я хотел бы создать UITabBar с закругленными углами. Есть ли способ сделать UITabBar закругленными углами? Это получило бы форму второй картины.Закругленные углы для UITabBar

Приложение начинается с tableView. Когда пользователь удаляет тему, они отправляются на контроллер tabBar.

enter image description here This is the shape I want it to take

----- ----- редактировать

Это мой AppDelegate:

func application(_application: UIApplication, 
willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool{ 

    let tabBarController = window?.rootViewController as! UITabBarController 
    let image = UIImage(named: "bar") 
    let tabBarImage = resize(image: image!, newWidth: tabBarController.view.frame.width) 
    tabBarController.tabBar.backgroundImage = tabBarImage 


    return true 
} 

func resize(image: UIImage, newWidth: CGFloat) -> UIImage { 

UIGraphicsBeginImageContext(CGSize(width: newWidth, height: image.size.height)) 
image.drawInRect(CGRect(x: 0, y: 0, width: newWidth, height: image.size.height)) 
let newImage = UIGraphicsGetImageFromCurrentImageContext() 
UIGraphicsEndImageContext() 

return newImage! 
} 

enter image description here

ответ

0

Эй я использовал простое свойство tabBar, который является backgroundImage.

Итак, я добавил в AppDelegate в didFinisLaunchingWithOptions:

let tabBarController = window?.rootViewController as! UITabBarController 
    let image = UIImage(named: "bar") 
    let tabBarImage = resize(image: image!, newWidth: tabBarController.view.frame.width) 
    tabBarController.tabBar.backgroundImage = tabBarImage 

и мой пользовательский метод, чтобы изменить размер изображения:

func resize(image: UIImage, newWidth: CGFloat) -> UIImage { 

    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: image.size.height)) 
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: image.size.height)) // image.drawInRect(CGRect(x: 0, y: 0, width: newWidth, height: image.size.height)) in swift 2 
    let newImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return newImage! 
} 

я использовал PNG изображение в качестве фона, то же, что и вы, но с четким цветом вместо черного.

Надеется, что это помогает

+0

Он говорит: «Использование неразрешенного идентификатора: окно» –

+0

Кроме того, он говорит: «UIiimage не член" Draw» –

+0

вы should't получать эту ошибку, вы уверены, что вы добавление кода в: func application (application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {} –

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