Swift中通过叠加UILabel实现混合进度条的方法

 更新时间:2016年08月22日 09:34:52   作者:YouXianMing  
这篇文章主要介绍了Swift中通过叠加UILabel实现混合进度条的方法的相关资料,需要的朋友可以参考下

先给大家展示下效果图,如果大家感觉还不错,请参考实现代码。

效果图如下所示:

源码

https://github.com/YouXianMing/Swift-Animations

//
// MixedColorProgressViewController.swift
// Swift-Animations
//
// Created by YouXianMing on 16/8/21.
// Copyright © 2016年 YouXianMing. All rights reserved.
//
import UIKit
class MixedColorProgressViewController: NormalTitleViewController {
private var upView : UIView!
private var upLabel : UILabel!
private var downView : UIView!
private var downLabel : UILabel!
private var timer : GCDTimer! = GCDTimer(inQueue: GCDQueue.mainQueue)
override func setup() {
super.setup()
downView = UIView(frame: CGRectMake(0, 0, 220, 17))
downView.center = (contentView?.middlePoint)!
downView.layer.cornerRadius = 2
downView.backgroundColor = UIColor.whiteColor()
downView.layer.masksToBounds = true
contentView?.addSubview(downView)
downLabel = UILabel(frame: downView.bounds)
downLabel.font = UIFont.HelveticaNeueThin(12.0)
downLabel.text = "YouXianMing - iOS Programmer"
downLabel.textColor = UIColor.redColor()
downLabel.textAlignment = .Center
downView.layer.borderWidth = 0.5
downView.layer.borderColor = UIColor.redColor().CGColor
downView.addSubview(downLabel)
upView = UIView(frame: CGRectMake(0, 0, 220, 17))
upView.center = (contentView?.middlePoint)!
upView.layer.cornerRadius = 2
upView.backgroundColor = UIColor.redColor()
upView.layer.masksToBounds = true
contentView?.addSubview(upView)
upLabel = UILabel(frame: upView.bounds)
upLabel.font = UIFont.HelveticaNeueThin(12.0)
upLabel.text = "YouXianMing - iOS Programmer"
upLabel.textColor = UIColor.whiteColor()
upLabel.textAlignment = .Center
upView.addSubview(upLabel)
weak var wself = self
timer.event({
UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 3, initialSpringVelocity: 0, options: .CurveEaseInOut, animations: {
wself?.upView.width = CGFloat(arc4random() % 220)
}, completion: nil)
}, timeIntervalWithSeconds: 1, delayWithSeconds: 1)
timer.start()
}
}

以上所述是小编给大家介绍的Swift中通过叠加UILabel实现混合进度条的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 浅谈在Swift中关于函数指针的实现

    浅谈在Swift中关于函数指针的实现

    这篇文章主要介绍了浅谈在Swift中关于函数指针的实现,是作者根据C语言的指针特性在Swifft中做出的一个实验,需要的朋友可以参考下
    2015-07-07
  • Swift语言中的一些访问控制设置详解

    Swift语言中的一些访问控制设置详解

    这篇文章主要介绍了Swift语言中的一些访问控制设置详解,是Swift入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Swift中Optional值的链式调用学习笔记

    Swift中Optional值的链式调用学习笔记

    这篇文章主要介绍了Swift中Optional值的链式调用学习笔记,Optional链是Swift入门学习中的基础知识,需要的朋友可以参考下
    2016-07-07
  • Combine中错误处理和Scheduler使用详解

    Combine中错误处理和Scheduler使用详解

    这篇文章主要为大家介绍了Combine中错误处理和Scheduler使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Swift与C语言指针结合使用实例

    Swift与C语言指针结合使用实例

    这篇文章主要介绍了Swift与C语言指针结合使用实例,本文讲解了用以输入/输出的参数指针、作为数组使用的参数指针、用作字符串参数的指针、指针参数转换的安全性等内容,需要的朋友可以参考下
    2015-05-05
  • Swift教程之继承详解

    Swift教程之继承详解

    这篇文章主要介绍了Swift教程之继承详解,一个类可以从另外一个类中继承方法,属性或者其它的一些特性,当一个类继承于另外一个类时,这个继承的类叫子类,被继承的类叫父类,需要的朋友可以参考下
    2015-01-01
  • Swift快速集成下拉刷新和上拉加载更多示例代码

    Swift快速集成下拉刷新和上拉加载更多示例代码

    这篇文章主要介绍了Swift快速集成下拉刷新和上拉加载更多示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Swift中的命名空间详解

    Swift中的命名空间详解

    这篇文章主要给大家介绍了关于Swift中命名空间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Swift语言实现地图坐标弹跳动画

    Swift语言实现地图坐标弹跳动画

    这篇文章主要介绍了用Swift语言实现地图坐标弹跳动画的方法主要应用iOS7来实现此功能,需要的朋友可以参考下
    2015-07-07
  • Swift中转义闭包示例详解

    Swift中转义闭包示例详解

    在Swift 中的闭包类似于结构块,并可以在任何地方调用,下面这篇文章主要给大家介绍了关于Swift中转义闭包的相关资料,需要的朋友可以参考下
    2021-11-11

最新评论