1

我有一个通过按钮调用 CategoryAndItemController 的主视图控制器。

我在 CategoryAndItemController 中有 2 个 UITableViewController。

这是 viewDidLoad 方法代码:

if enter code here(categoriesController == nil) {
    categoriesController = [[CFCategoriesTableViewController alloc] init];
}
if (itemsController == nil) {
    itemsController = [[CFItemsTableViewController alloc] init];
}

[categoriesTable setDataSource:categoriesController];
[itemsTable setDataSource:itemsController];

[categoriesTable setDelegate:categoriesController];
[itemsTable setDelegate:itemsController];

categoriesController.view = categoriesController.tableView;
itemsController.view = itemsController.tableView;

我需要的是显示 CategoryAndItemController.view 然后在我进入该视图后请求数据。

现在,当我按下 Button 调用 CategoryAndItemController 时,只有在获取所有数据后才会出现视图,并且在 CategoryAndItemController.view 出现之前会有 2-3 秒的时间。

我需要先显示 CategoryAndItemController.view 然后在加载数据时添加一个 UIActivityIndi​​catorView 。

4

2 回答 2

1

您需要将代码从 viewDidLoad 转移到 viewDidAppear。

在 viewDidLoad 中添加加载器。

于 2013-08-01T10:50:37.450 回答
0

在 viewDidLoad 中添加此代码

- (void)viewDidLoad
   {

      UIActivityIndicatorView *activityIndicator = [[[UIActivityIndicatorView alloc]   ini

        tWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];
                activityIndicator.hidesWhenStopped = YES;
                activityIndicator.hidden = NO;
               activityIndicator.center=  self.view.center
                [activityIndicator startAnimating];
                [self.view addSubview:activityIndicator]

             [self performSelectorInBackground:@selector(call_progress) withObject:nil];
    }

    -(void)call_progress
    {

       // web service code:

       [activityIndicator stopAnimating];
       [activityIndicator removeFromSuperview];

    }
于 2013-08-01T09:47:39.847 回答