我想创建一个带有圆角的UITabBar。有什么办法可以 使UITabBar具有圆角?它将采用第二 张图片的形状。
该应用程序从tableView开始。当用户点击主题时,它们将被发送 到tabBar控制器。
在此处输入图片说明 这是我想要的形状
这是我的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! }
嘿,我使用了tabBar的简单属性,即backgroundImage。
因此,我在didFinisLaunchingWithOptions中添加了appDelegate:
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图像作为背景,与您发布的图像相同,但是具有清晰的 颜色而不是黑色。
希望这可以帮助