如何在UIView中引入一个小延迟?

问题描述:

如何在视图加载到显示时间之间引入一个小的延迟。如何在UIView中引入一个小延迟?

半秒钟就可以了。有没有办法解决这个其他然后sleep (1)

多一点细节,我想做些什么更优雅的方式:

UIImageView *cardView = [[UIImageView alloc] initWithFrame 
      :CGRectMake([thisCard xPosition], [thisCard yPosition], 79 , 123)]; 
     [cardView setImage:[ thisCard faceImage]]; 
     cardView.transform = CGAffineTransformMakeRotation(.34906585); 

     // SLEEP HERE FOR .5 SECONDS 

     [thisCard setOwnImageView:cardView]; 

     [self addSubview:cardView]; 
+0

您可以通过用户'NSTimer'为好。 [见这个堆栈溢出页。] [1] [1]:http://stackoverflow.com/questions/1449035/how-do-i-use-nstimer – kk1

将所有的子视图的初始状态隐藏在viewDidLoad添加以下代码:

double delayInSeconds = 0.5; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     // unhide views, animate if desired 
    }); 

你也可以使用performSelector:afterDelay:

+0

这正是我正在寻找的。谢谢 –

简单。看看这个:

[self performSelector:@selector(fadeOutDialog) withObject:nil afterDelay:2.0]; 

延迟2秒后,它执行'fadeOutDialog'方法。

+0

然后用刚XJones声明了什么:'dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,0.5 * NSEC_PER_SEC); dispatch_after(popTime,dispatch_get_main_queue(),^(void){ //取消隐藏视图,如果需要可以动画 });'但是其中的评论是你想要取消隐藏或设置其他内容的地方。 – Brayden