我有一個uiView覆蓋屏幕與標籤和uiindicator運行時,我正在進行網絡調用。UIView與uiindicator sethidden =沒有不工作後sethidden =是
現在是這個問題。我在viewDidLoad中
[self.UiIndicator_view setHidden:YES];
[self.UiIndicator_label setHidden:YES];
[self.UiIndicator_indicator setHidden:YES];
初始化像這樣在網絡呼叫我呼籲
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^
{
[self ShowIndicator:@"Syncing Data"];
if([self CheckNetwork])
[HttpMethods GetHeaderDataForAppHttp];
dispatch_async(dispatch_get_main_queue(),^
{
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Network Error"
message:@"You have no network connection. Please connect to a network to sync data."
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
[self StopIndicator];
});
});
和方法如下
-(void)ShowIndicator:(NSString*)labelText
{
[self.UiIndicator_view setHidden:NO];
[self.UiIndicator_label setHidden:NO];
[self.UiIndicator_label setText:labelText];
[self.UiIndicator_indicator setHidden:NO];
[self.UiIndicator_indicator startAnimating];
}
-(void)StopIndicator
{
[self.UiIndicator_view setHidden:YES];
[self.UiIndicator_label setHidden:YES];
[self.UiIndicator_indicator setHidden:YES];
[self.UiIndicator_indicator stopAnimating];
}
現在的問題。當我第一次啓動應用程序時,代碼運行得非常好。調用進入dispatch_asyn,我看到帶有標籤和指示符的UIView,並且在調用返回到主線程後,uiview和指示器消失,如果沒有數據被提取,我會得到alertview。
如果在第一次嘗試時無法獲取數據,我已給予用戶手動調用相同函數的選項。這裏出現問題,我可以在NSLOG中看到該方法已被調用,http請求被觸發,但我無法看到帶有指示器的uiview,即使應用程序後面的元素和按鈕都不可點擊(這意味着上面有一個UIVIEW,但我無法看到它)。過了一段時間,我收到了撥打電話已完成的uialeart。
設置uiview隱藏=是取消它或類似的東西?我無法得到這個簡單的問題。
@Infinty詹姆斯:感謝的人。 :) –