zoukankan      html  css  js  c++  java
  • Swift

    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()
        }
    }
  • 相关阅读:
    【转】Eclipse插件开发之基础篇(1) 插件开发的基础知识
    js获取周.html
    Go语言 基础
    MySQL replace into
    元认知:思考“何为思考”
    redis 流水线
    关于Blog现象的一些思考。
    [LCS]LCS2005服务器应用程序
    [WAP]dotNet在WAP应用开发中实现按指定页数翻页的解决方案
    [Cache]深入学习Enterprise Library for .NET Framework 2.0的Cache机制——分析篇
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5793549.html
Copyright © 2011-2022 走看看