我希望在没有使用图像的情况下完成此任务,如果可能的话.有没有办法以编程方式创建图像显示,而不必将每个选项卡作为图像呈现?
我在SO上审查过的每个问题都将标签保存为JPG,这比我觉得应该是更多的工作.
有任何想法吗?
解决方法
我对@matcartmill采取了类似的方法,但不需要特殊的图像.这个解决方案只是基于你的颜色.
// set red as selected background color let numberOfItems = CGFloat(tabBar.items!.count) let tabBarItemSize = CGSize(width: tabBar.frame.width / numberOfItems,height: tabBar.frame.height) tabBar.selectionIndicatorImage = UIImage.imageWithColor(UIColor.redColor(),size: tabBarItemSize).resizableImageWithCapInsets(UIEdgeInsetsZero) // remove default border tabBar.frame.size.width = self.view.frame.width + 4 tabBar.frame.origin.x = -2
我正在使用UIImage的以下扩展名:
extension UIImage { class func imageWithColor(color: UIColor,size: CGSize) -> UIImage { let rect: CGRect = CGRectMake(0,size.width,size.height) UIGraphicsBeginImageContextWithOptions(size,false,0) color.setFill() UIRectFill(rect) let image: UIImage = UIGraphicsGetimageFromCurrentimageContext() UIGraphicsEndImageContext() return image } }
我希望这有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。