4

我有一个要显示加载动画的视图。我已经看到一些应用程序显示圆形图像以显示加载,并且动作将发生在背景上,我想在这里实现同样的事情,任何内置动画都可以在 IOS 中使用?

TIA

4

3 回答 3

7

您可以使用内置的活动指示器。

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator.center = CGPointMake(alert.bounds.size.width / 2 , (alert.bounds.size.height) /2);
[indicator startAnimating];

只需将其作为子视图添加到您的视图中。

于 2014-04-19T03:38:17.073 回答
3

如果你想保持简单,你可以使用 UIActivityIndi​​cator。或者有很多开源活动指示器除了显示一个旋转的轮子之外还可以做很多花哨的事情。MBProgressHUDSVProgressHUD是两个简洁的实现。

于 2012-08-14T06:56:00.387 回答
1

创建 YourViewController,然后将 MBProgressHUB 库添加到您的项目中(您可以从这里获取该库);下载项目并将库移动到您的项目中。

然后您可以使用以下代码来完成您的任务:

你的ViewController.h

#import <UIKit/UIKit.h>
#import "MBProgressHUD.h"

@interface YourViewController : UITableViewController <MBProgressHUDDelegate>
{
    MBProgressHUD *hud;
}

你的视图控制器.m

#import "YourViewController.h"
@interface YourViewController ()
@end

@implementation YourViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    [self initializeProgressLoading];
    [self getObjects];
    [hud hide:YES afterDelay:1];
}

-(void) initializeProgressLoading {
    hud = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
    [self.navigationController.view addSubview:hud];
    hud.delegate = self;
    hud.labelText = @"Loading";
    [hud showWhileExecuting:@selector(sleep) onTarget:self withObject:nil animated:YES];
}

- (void)sleep {
    sleep(50000);
}

- (void) getObjects {
// connect to db and get all objects
//you can write any thing here
}

- (void)hudWasHidden:(MBProgressHUD *)hud1 {
    // Remove HUD from screen when the HUD was hidded
    [hud removeFromSuperview];
    hud = nil;
}
于 2015-10-05T12:49:50.190 回答