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中的常量和变量简单概述的相关资料,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • swift中AnyObject和Any的介绍与区别详解

    swift中AnyObject和Any的介绍与区别详解

    虽然使用swift开发了一段时间,但是感觉对一些基础的东西了解不是比较透彻,在查询了许多资料以后还是打算自己动手记录一下,下面这篇文章主要给大家介绍了关于swift中AnyObject和Any的介绍与区别的相关资料,需要的朋友可以参考下。
    2017-12-12
  • Swift 3.0基础学习之闭包

    Swift 3.0基础学习之闭包

    Swift引进了闭包的概念,这个与object-c的block类似,使用过block的话都知道有多方便,所以开始学Swift,先要把闭包学会,后面使用会很频繁。下面这篇文章主要介绍了Swift 3.0基础学习之闭包的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Swift实现无限轮播效果

    Swift实现无限轮播效果

    这篇文章主要为大家详细介绍了Swift无限轮播效果实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 在Swift中如何使用正则表达式详解

    在Swift中如何使用正则表达式详解

    正则表达式是对字符串操作的一种逻辑公式,相信大家应该都不陌生,下面这篇文章主要给大家介绍了关于在Swift中如何使用正则表达式的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • 仓库模式及其在Swift 项目中的应用详解

    仓库模式及其在Swift 项目中的应用详解

    这篇文章主要为大家介绍了仓库模式及其在Swift 项目中的应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Swift调用Objective-C代码

    Swift调用Objective-C代码

    目前Swift语言所编写的应用才刚刚可以使用Xcode 6 GM版本提交,而Objective-C作为苹果的主开发语言存在了很多年了。目前尚无成熟的Swift库可用,所以当前编写应用可以说基本离不开调用Objective-C代码的情况。
    2014-09-09
  • Swift函数提前返回实例详解

    Swift函数提前返回实例详解

    函数相当重要的,下面这篇文章主要给大家介绍了关于Swift函数提前返回的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Swift类和对象的底层探索分析

    Swift类和对象的底层探索分析

    这篇文章主要为大家介绍了Swift类和对象的底层探索分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Swift 列举内存管理与异常处理具体代码

    Swift 列举内存管理与异常处理具体代码

    内存管理和异常处理在任何编程语言中都是核心概念。尽管有很多教程解释了Swift自动引用计数的基本原理,但我发现没有一个可以从编译器的角度对其进行解释。在本文中,我们将通过详细代码列举学习Swift内存管理与异常处理
    2021-11-11

最新评论