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()
    }
}
时间: 2024-11-07 12:07:11

Swift - 通过叠加UILabel来实现混合的进度条的相关文章

Swift - 环形进度条(UIActivityIndicatorView)的用法

Swift中,除了条形进度条外,还有环形进度条,效果图如下: 1,环形进度条的基本属性 (1)Style: Large White:比较大的白色环形进度条 White:白色环形进度条 Gray:灰色环形进度条 (2)Color: 设置环形进度条的颜色 (3)Behavior: Animating:勾选后环形进度条开始转动 Hides When Stopped:勾选后当环形进度条停止转动时自动隐藏 2,使用样例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1

swift 动态设置UILabel的高度

import UIKit class ViewController3: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor=UIColor.whiteColor() var scrollView = UIScrollView(frame: CGRectMake(0, 0, ScreenWidth, ScreenHeight)) self.view.addSub

swift 实践- 03 -- UILabel

class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 标签 let label: UILabel = UILabel(frame: CGRect(x: 100, y: 250, width: 200, height: 100)) label.text = "Hello world!" self.view.addSubview(label) label.t

Swift 圆形渐变进度条 支持事件 支持XIB和StoryBoard

最近项目用到了 一个经验条  要求颜色渐变  中间是用户头像  还要接受事件  然后自己写了个下面这个控件 // // XProgressView.swift // XProgressView // // Created by eduo_xiaoP on 15/4/11. // Copyright (c) 2015年 eduo. All rights reserved. // import Foundation import UIKit @objc protocol XProgressViewD

论 Swift 开发入门 : 进度条(UIProgressView)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44802019 ------------------------------------------------------------------------------------------ 概述 ------------------------------------------------------------------------------------------ 代

swift UI专项训练16 ProgressView进度条

进度条的基类是UIProgressView.参数包括样式.进度.进度颜色.滑块颜色.如图: 比如我们做如下修改: 现在我们的进度条变成了如下的样子: 它的方法很简单,只有一个setProgress,设定进度就好了.

读书笔记-UIView与控件

1.UIView 在Objective-C中,NSObject是所有类的“根”类.同样,在UIKit框架中,也存在一个如此神奇的类UIView.从继承关系上看,UIView是所有视图的根. 1.1.UIView家族 UIView大体分为“控件”和“视图”两类,二者均继承于UIView. UIControl类是控件类,之所以这样称呼,是因为它们都有能力响应一些高级事件.UIControl类以外的视图没有这些高级事件. 1.2.应用界面的构建层次 下图(左)是一个应用界面的构建层次图,该应用有一个U

android五个布局

此内容是根据在慕课网学习,加上对自己的理解,编写下来的笔记,以便以后查看 布局内可以再有布局 1.线性布局(LinearLayout) 此布局可以控制控件垂直/水平排列 LinearLayout常用到两个属性 1.android:orientation="vertical(垂直)"/"horizontal(水平)" 2.android:gravity = "center"---该属性控制它子类的位置(写在总的开头) (常用的属性有) 1.cent

Swift和C混合Socket编程实现简单的ping命令

这个是用Mac下的Network Utility工具实现ping命令,用Wireshark抓取的ICMP数据包: 发送ICMP数据包内容 接受ICMP数据包内容 一.icmp结构 要真正了解ping命令实现原理,就要了解ping命令所使用到的TCP/IP协议.ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.ICMP协议是IP层的 一个协议,但是由于差错报告在发送给报文源发方时可能