2015-06-14 43 views
2

我有UITableView和UIView UIViewController(見打擊)。當我在某處調用hiddenLoadingView時,UIView仍然顯示,然後在10-20秒後解散,爲什麼?UIView.hidden不能立即工作

- (void)viewDidLoad { 
    .... 
    self.tableView = [[[UITableView alloc] init] autorelease]; 
    [self.view addSubview:self.tableView]; 

    self.loadingView = [[[UIView alloc] init] autorelease]; 
    [self.view addSubview:self.loadingView]; 
} 

- (void)hiddenLoadingView { 
    NSLog(@"%@", [NSNumber numberWithBool:self.loadingView.hidden]); 
    [self.loadingView setHidden:YES]; 
    NSLog(@"%@", [NSNumber numberWithBool:self.loadingView.hidden]); 
} 
+3

一定要從主線程調用hiddenLoadingView。聽起來你可能會從某種異步方法的完成塊中調用它。 – picciano

+0

這是...非常感謝你 –

回答

2

一定要從主線程調用hiddenLoadingView。聽起來你可能會從某種異步方法的完成塊中調用它。

+0

完全正確..因爲我有一個複雜的UITableViewCell集合,並有條件的東西來顯示和隱藏...因爲請求是異步類型,所以元素不能正確隱藏..執行在主線程相同的技巧........ – Shekhu

0

您必須調用UI更改來自主線程。

dispatch_async(dispatch_get_main_queue(), ^{ 
// do UI related work here 
}) 
相關問題