0

我对这个 IOS 目标 C 的东西很陌生,所以希望这是一个简单的。

我有一个 rightBarButtonItem 按下时使用 push segue 移动到下一个视图。但是,加载下一个视图需要一段时间,因为它涉及数据库调用。我希望该按钮更改 UILabel(或以其他方式更改 UI)以显示一条消息,表明它正在工作。

我已经尝试在 prepareForSegue 方法中做一些事情,但是这些更改只会在视图更改之前发生,如果有的话。

我应该如何完成我正在寻找的东西?谢谢。

4

2 回答 2

9

我建议您使用MBProgressHUD,它提供了一个很好的模态指示器。这很容易实现。

看看这个 github 演示并在你的项目中使用。而且我还建议您根据您的方法,使用Grand Central Dispatch (GCD)在后台更好地执行从数据库方法加载数据的过程:-

例如在你的ViewDidLoad方法中: -

[MBProgressHUD showHUDAddedTo:self.view animated:YES];  //Activity Indicator loading

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

           [self LoadDatabae]; //database data fatch method

            dispatch_async(dispatch_get_main_queue(), ^{

                [MBProgressHUD hideHUDForView:self.view animated:YES]; //hide that after your Dela Loading finished fromDatabase
            });
        });
于 2013-08-20T16:04:31.850 回答
0

您应该在 Secondviewcontroller 的以下任何方法中显示加载程序。(调用数据库的位置)。

- (void)viewWillAppear:(BOOL)animated
或者

 - (void)viewDidAppear:(BOOL)animated

编辑:我正在输入建议MBProgressHUD。感谢尼廷·戈赫尔。

于 2013-08-20T16:02:56.743 回答