2013-11-20 15 views
0

我用下面的代碼來獲取圖像視圖水龍頭,然後導航到另一個視圖控制器:進步黨欄不顯示IOS

-(void)tapDetected:(UIGestureRecognizer *)recognizer{ 

    [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 

    NSLog(@"single Tap on imageview"); 

    ImageTapGesture *sender = (ImageTapGesture *)recognizer; 

    UIStoryboard * storyboard = self.storyboard; 

    tele * detail = [storyboard instantiateViewControllerWithIdentifier: @ "teledramaView"]; 

    detail.imagelink = sender.imageLink; 

    detail.description = sender.description; 

    detail.id = sender.id; 

    [self.navigationController pushViewController: detail animated: YES]; 

    [MBProgressHUD hideHUDForView:self.view animated:YES]; 
} 

到目前爲止,代碼工作正常,但問題是進度條不正確顯示。

這表明在臨睡前其他控制器的最後時刻,但日誌而來的進度條前:NSLog(@"single Tap on imageview");

任何人能告訴我,爲什麼,因爲它是指工作進度條不工作?謝謝。

+0

它不會起作用,因爲HUD顯示和隱藏方法是相同的方法。 –

+0

刪除這個 - [MBProgressHUD hideHUDForView:self.view animated:YES];然後再試一次。 – Smita

+0

@smith它仍然沒有顯示 –

回答

1

那麼答案很簡單,因爲您在同一個線程中顯示和隱藏progressHUD,只要添加它就會被刪除。由於您的方法是在主線程上執行的,這也是處理任何UI更改,您的progressHUD只會在方法結束後添加。但是,由於您在最後一行刪除了progressHUD,它也將被直接刪除。更糟糕的是,添加和刪除HUD之間的任何代碼都會阻止任何UI更改。

您需要延遲加載了一下,給系統時間呈現progressHUD:

-(void)tapDetected:(UIGestureRecognizer *)recognizer{ 
[MBProgressHUD showHUDAddedTo:self.view animated:YES]; 

NSLog(@"single Tap on imageview"); 

[self performSelector:@selector(navigateToDetailView:) withObject:recognizer afterDelay:0.0]; 

}

-(void) navigateToDetailView:(UIGestureRecognizer*)recognizer{ 
    ImageTapGesture *sender = (ImageTapGesture *)recognizer; 

    UIStoryboard * storyboard = self.storyboard; 

    tele * detail = [storyboard instantiateViewControllerWithIdentifier: @ "teledramaView"]; 
    detail.imagelink = sender.imageLink; 
    detail.description = sender.description; 
    detail.id = sender.id; 

    [self.navigationController pushViewController: detail animated: YES]; 

    [MBProgressHUD hideHUDForView:self.view animated:YES]; 
} 
+0

但它需要很多時間導航到另一個視圖控制器很快導航到其他視圖控制器後,我點擊圖像視圖它sj =我如何日誌和5 - 8秒後它移動到下一個 –

+0

我'已經添加了一個示例如何使用iOS有時間來顯示progressHUD。 – rckoenes

+0

非常感謝你,但你能告訴我如何將我的識別器對象傳遞給'navigateTodatailView'函數 –