zoukankan      html  css  js  c++  java
  • iOS 实现进度条(progress)

    #import <UIKit/UIKit.h>
    
    @interface ZSDProgressView : UIView
    {
        UIView *progressView;//进度view
    }
    //进度值
    @property(nonatomic,assign)float progress;
    @end
    #define UIColorFromRGB(rgbValue) [UIColor 
    colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 
    green:((float)((rgbValue & 0xFF00) >> 8))/255.0 
    blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
    #import "ZSDProgressView.h"
    @implementation ZSDProgressView
    
    -(id)initWithFrame:(CGRect)frame
    {
        if (self=[super initWithFrame:frame])
        {
            self.backgroundColor=UIColorFromRGB(0xDADADA);
        }
        
        return self;
    }
    -(void)awakeFromNib
    {
        
        self.backgroundColor=UIColorFromRGB(0xDADADA);
        progressView=[[UIView alloc]init];
        progressView.translatesAutoresizingMaskIntoConstraints=NO;
        [self addSubview:progressView];
        
    }
    -(void)setProgress:(float)progress
    {
        _progress=progress;
        
        /**
         *  activePartView添加约束
         */
        
        //左边约束
        [self addConstraint:[NSLayoutConstraint constraintWithItem:progressView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1 constant:0]];
        
         //上边约束
        [self addConstraint:[NSLayoutConstraint constraintWithItem:progressView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1 constant:0]];
        
        //高度约束
        [self addConstraint:[NSLayoutConstraint constraintWithItem:progressView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1 constant:self.frame.size.height]];
       
        //宽度约束
        NSLayoutConstraint *widthCon = [NSLayoutConstraint constraintWithItem:progressView
                                                                    attribute:NSLayoutAttributeWidth
                                                                    relatedBy:NSLayoutRelationEqual
                                                                       toItem:self
                                                                    attribute:NSLayoutAttributeWidth
                                                                   multiplier:_progress
                                                                     constant:0];
        [self addConstraint:widthCon];
    
        //用背景图来填充背景颜色
        UIImage *bgImage=[UIImage imageNamed:@"invest_jindu"];
        UIColor *bgColor=[UIColor colorWithPatternImage:bgImage];
        [progressView setBackgroundColor:bgColor];
        //更新约束
        [progressView needsUpdateConstraints];
        
    }
    
    @end
    #import "ViewController.h"
    #import "ZSDProgressView.h"
    @interface ViewController ()
    @property (weak, nonatomic) IBOutlet ZSDProgressView *progressView;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    - (IBAction)setBtnClick:(UIButton *)sender
    {
        
        _progressView.progress=0.6;
        
    }
    
    @end

  • 相关阅读:
    Crowdsec:一款面向Linux的现代化协作式大型多人防火墙
    Linux文件操作:利用C语言删除某个目录下的文件
    GitHub 长期被中国人“霸榜”?看完这些榜单,这又是什么新姿势?
    英语不好学不好编程?程序员记忆单词专属诀窍,效果简直要逆天
    谁说女生不适合当程序员?世界第一位程序员,就是女性!
    C语言丨一篇文章带你认识递归与迭代
    C语言进阶丨(七)数组的基本概念和初始化【1】
    赔97.6万元!腾讯一程序员违反竞业协议,三年白干了!
    雪夜思绪
    算法复习(2)递归
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4146280.html
Copyright © 2011-2022 走看看