0

我正在使用 iOS 6 的社交 API 来发送推文,并且我想要一个进度视图。以下是要显示的消息。

    [self.progressView addStatus:@"Posting to Twitter"];

由于我的应用程序可能会同时向多个目的地发送消息,我想在进度视图上显示所有处理状态。因此,一旦将新消息添加到进度视图,我将构建一个子视图,然后将其添加到主进度视图。

UIView *containerView = [[UIView alloc] init];

UIActivityIndicatorView *weiboIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
weiboIndicator.tag = tag + 1;
[weiboIndicator setFrame: CGRectMake(10, 20, weiboIndicator.frame.size.width, weiboIndicator.frame.size.height)];

[containerView addSubview:weiboIndicator];
[weiboIndicator startAnimating];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(34, 23, 40, 60)];
label.tag = tag;
label.text = status;
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
label.font = [UIFont boldSystemFontOfSize:12];
label.adjustsFontSizeToFitWidth = YES;
label.hidden = NO;
[label sizeToFit];

[containerView addSubview:label];

这是一个非常简单的 UIView。然后我将它添加到主进度视图

dispatch_async(dispatch_get_main_queue(), ^{
        [[ParallelProgressView sharedView] addSubview:progressVivew];

        //change height to accommodate new progress view
        [[ParallelProgressView sharedView] setFrame:CGRectMake(bounds.size.width / 4, bounds.size.height / 4, bounds.size.width / 2, (index + 1) * 60 + 40 )];
        //[[ParallelProgressView sharedView] setNeedsDisplay];
    });

问题是活动指示器立即显示,而不是标签

在此处输入图像描述

指示器正在动画,并且视图的高度已更改。但是标签直到不久之后才会显示。 在此处输入图像描述

4

0 回答 0