为每个主题单击和每个章节单独增加进度条

时间:2014-03-07 05:41:24

标签: ios iphone

我有一个ChapterViewController,在这个控制器中我有3-4章。如果我单击第1章然后打开topicViewController,则在此控制器中有许多主题,标题部分有一个进度条。如果我单击主题1,则打开主题detailsViewController,然后返回进度条的百分比增加。每章都有很多主题和每个主题控制器的个别进度条。

1 个答案:

答案 0 :(得分:0)

这是进度栏方面的一种方式,我相信人们会对其优点有所了解。

第1步:ViewController.h:声明属性:' progressView'

@property (strong, nonatomic) UIView *progressView;

第2步:ViewController.m:添加progressView以查看

self.progressView = [[UIView alloc]init];
self.progressView.frame = CGRectMake(0, 80, 320, 100);
[self.view addSubview:self.progressView];

步骤3:ViewController.m:在某处添加以下方法

- (void) updateProgressViewWithPercentageDone:(int)percentDone {
    CALayer * progressIndicatorLayer;
    if (self.progressView.layer.sublayers.count == 0) {
        progressIndicatorLayer = [[CALayer alloc]init];
        progressIndicatorLayer.backgroundColor = [UIColor lightGrayColor].CGColor;
        progressIndicatorLayer.frame = CGRectMake(0, 0, 1, self.progressView.bounds.size.height);
        [self.progressView.layer addSublayer:progressIndicatorLayer];
    }
    else {
        progressIndicatorLayer = self.progressView.layer.sublayers[0];
    }

    int targetWidth = (self.progressView.bounds.size.width / 100) * percentDone;
    progressIndicatorLayer.frame = CGRectMake(0, 0, targetWidth, self.progressView.bounds.size.height);
}

第4步:ViewController.m:调用方法

[self updateProgressViewWithPercentageDone:50];

将完成50%,等等。