2013-02-04 82 views
1

當附加代碼執行時,我解決了UIView的隱藏問題。該代碼是這樣的:當取消隱藏視圖和執行其他代碼時,視圖不顯示

- (void)someMethod { 
    self.oldView.hidden = YES; 
    self.newView.hidden = NO; 

    NSString *parameter = self.myLabel.text; 
    [AnotherObject doSomethingWith:parameter]; 
} 

doSomething:方法是一個非常computionally密集的方法,並採取了一些秒。該行爲是現在不知何故意外:

  1. oldView是隱藏
  2. 它需要幾秒鐘(好像doSomething:執行
  3. NewView的顯示

有什麼問題,我該怎麼在執行doSomething:的代碼之前實現顯示newView?

+0

移動你想要..explain在排序.. – iPatel

回答

0

使用此代碼:

- (void)someMethod { 
    self.oldView.hidden = YES; 
    self.newView.hidden = NO; 

    NSString *parameter = self.myLabel.text; 
    [NSThread detachNewThreadSelector:@selector(doSomethingWith:) toTarget:self withObject:parameter]; 

} 

,並恢復我..

+0

我也面臨着相同類型的問題。 GR8 !!夥計這也適用於我。日Thnx。 – Harpreet

0

使用此代碼:

- (void)someMethod { 
    self.oldView.hidden = YES; 
    self.newView.hidden = NO; 

    NSString *parameter = self.myLabel.text; 
    [self performSelector:@selector(doSomethingWith:) withObject:parameter afterDelay:0.1]; 
} 

這將在延遲0.1秒後調用您的方法,因此在這段時間內您的newView將顯示。