iOS等待屏幕

Luc*_*Luc 1 ios

当我的应用程序启动时,我想显示一种"等待视图",这样我就可以在访问应用程序之前进行第一次http调用.
我看到一个漂亮的,灰色的,有点透明,内部只有一个活动指示器.
我真的不知道如何以良好的方式构建这种视图,这是一个简单的UIView吗?

Ste*_*han 12

Fist简短回答是:是的,最简单的方法是使用UIActivityIndi​​catorView.

如果您不喜欢所有这些"大"静态库,只需使用:

#import <QuartzCore/QuartzCore.h>

.....

- (UIActivityIndicatorView *)showActivityIndicatorOnView:(UIView*)aView
{
    CGSize viewSize = aView.bounds.size;

    // create new dialog box view and components
    UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc]
    initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    // other size? change it
    activityIndicatorView.bounds = CGRectMake(0, 0, 65, 65);
    activityIndicatorView.hidesWhenStopped = YES;
    activityIndicatorView.alpha = 0.7f;
    activityIndicatorView.backgroundColor = [UIColor blackColor];
    activityIndicatorView.layer.cornerRadius = 10.0f;

    // display it in the center of your view
    activityIndicatorView.center = CGPointMake(viewSize.width / 2.0, viewSize.height / 2.0);

    [aView addSubview:activityIndicatorView];

    [activityIndicatorView startAnimating];

    return activityIndicatorView;
}
Run Code Online (Sandbox Code Playgroud)

这需要访问QuartzCore类,因此将其添加到您的框架中.任务完成后,发送一个stopAnimating,它将消失.如果您不再需要它,请将其从视图中删除以节省内存(顺便说一句,这是ARC代码).

我这样称呼它

self.activityIndicatorView = [self showActivityIndicatorOnView:self.parentViewController.view];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我在我的应用程序中将UINavigationViewController作为主视图控制器.这是重要的,因为活动指示器应该显示在屏幕的中间而不是例如在表格视图的中间.

最简单的实现是这样的:

- (UIActivityIndicatorView *)showSimpleActivityIndicatorOnView:(UIView*)aView
{
    CGSize viewSize = aView.bounds.size;

    // create new dialog box view and components
    UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

    activityIndicatorView.center = CGPointMake(viewSize.width / 2.0, viewSize.height / 2.0);

    [aView addSubview:activityIndicatorView];

    [activityIndicatorView startAnimating];

    return activityIndicatorView;
}
Run Code Online (Sandbox Code Playgroud)


Ann*_*nne 8

MBProgressHUD可能是您正在寻找的:https:
//github.com/matej/MBProgressHUD

在此输入图像描述