首页 > 代码库 > iOS 实现进度条(progress)

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

iOS 实现进度条(progress)