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

  • 相关阅读:
    iPhone UIImage扩展方法,支持放大和旋转
    UIApplication
    ios定制键盘
    获取iOS设备当前ip地址
    类似长按图标抖动一样
    详解Objectivec Block应用
    如何开启AltiGen客户端log
    如何注册开通真正支付全世界190个国家和地区,多种货币(美元等)支付和收款国际版paypal帐户
    最新最牛!功能最多的四角号码在线查询
    DNN与SharePoint / Exchange /多站点/网站 并存一台服务器的方法
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4146280.html
Copyright © 2011-2022 走看看