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()
        }
    }
  • 相关阅读:
    HTTP协议--详解
    汇编语言前五章总结
    [转] vscode C/C++ 插件预定义环境变量(linux)
    C++小细节
    CC++ 如何确定一个变量的类型(恶心的指针)
    Ubuntu下安装tensorflow
    github 上不去
    应用层01-HTTP
    C++ 传递数组引用
    C++ 命令行窗口打印二叉树(图形)
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5793549.html
Copyright © 2011-2022 走看看