2013-02-04 44 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将显示。