iOS 等待画面

标签 ios

当我的应用程序启动时,我想显示一种“等待 View ”,这样我就可以在访问应用程序之前进行第一次 http 调用。
我看到一个不错的,全是灰色的,有点透明,里面只有一个事件指示器。
我真的不知道如何以一种好的方式构建这种 View ,它是一个简单的 UIView 吗?

最佳答案

第一个简短的回答是:是的,最简单的方法是使用 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;
}

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

我这样称呼它
self.activityIndicatorView = [self showActivityIndicatorOnView:self.parentViewController.view];

在这种情况下,我将 UINavigationViewController 作为我的应用程序中的主视图 Controller 。这很重要,因为事件指示器应该显示在屏幕中间,而不是例如。在表格 View 的中间。

最简单的实现是这样的:
- (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;
}

关于iOS 等待画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336788/

相关文章:

ios - Xcode:选择 Storyboard之外的对象

objective-c - 使用 UIToolBar 上的完成按钮关闭 UIPickerView

ios - 单元格 ImageView 缩进

ios - SLComposeViewController setInitialText 在 iOS 11 的 Twitter 上不起作用

ios - 自动调整 anchor 大小不会将 subview 设置为角点

ios - 为什么 colorBlendFactor 不影响 Swift 设备上的 'SKLabelNode'?

ios - 如何在 IOS 9 中为通用链接创建 apple-app-site-association 文件?

ios - glkView :drawInRect: and glkViewControllerUpdate:? OpenGL ES 2 - iOS 之间的区别

iphone - JSONKit:如何保持 JSON 字典键的顺序

ios - 如果快速滑动,UIPageViewController didFinishAnimating 不会被调用