2013-08-01 72 views
1

我有一個主視圖控制器,它通過一個按鈕調用CategoryAndItemController。單視圖控制器中的兩個表視圖:在加載數據之前先顯示視圖

我有2個UITableViewController裏面的CategoryAndItemController。

這裏的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。

回答

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]; 

    } 
+0

在取出所有數據之前,不會顯示CategoryAndItemController。 :(該botton只是突出顯示,並沒有立即顯示下一個控制器 –

+0

把所有的代碼裏面call_progress和我的支票更新回答 –

+0

我可以給你我的代碼? –

1

添加此代碼,您需要將代碼從viewDidLoad中轉移到viewDidAppear。

在viewDidLoad中添加加載器。

相關問題