繁体   English   中英

动画TabBar颜色更改

[英]Animate TabBar color change

我有一个UITabBar ,每个选项卡在点击时都会更改其颜色。

我希望它具有动画效果(在notSelectedColor和SelectedColor之间0.5秒),该怎么做?

我正在重新绘制具有以下颜色的图像:

func imageWithColor(color: UIColor) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(size, false, scale)

    let context = UIGraphicsGetCurrentContext()
    CGContextTranslateCTM(context, 0.0, size.height)
    CGContextScaleCTM(context, 1.0, -1.0)
    CGContextSetBlendMode(context, CGBlendMode.Normal)

    let rect = CGRect(origin: CGPointZero, size: size)
    CGContextClipToMask(context, rect, CGImage)
    color.setFill()
    CGContextFillRect(context, rect)

    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    return newImage
}

谢谢!

您可以通过以下代码为标签颜色设置动画:

let tabBar: UITabBar? = self.tabBarController?.tabBar
        UIView.transitionWithView(tabBar!, duration: 1.0, options: [.BeginFromCurrentState, .TransitionCrossDissolve], animations: {
            self.tabBarController?.tabBar.tintColor = UIColor.purpleColor()
            }, completion: nil)

我还为您制作了一个示例项目。 此处下载示例项目

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM