如何在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];
将所有的子视图的初始状态隐藏在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:
这正是我正在寻找的。谢谢 –
简单。看看这个:
[self performSelector:@selector(fadeOutDialog) withObject:nil afterDelay:2.0];
延迟2秒后,它执行'fadeOutDialog'方法。
然后用刚XJones声明了什么:'dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,0.5 * NSEC_PER_SEC); dispatch_after(popTime,dispatch_get_main_queue(),^(void){ //取消隐藏视图,如果需要可以动画 });'但是其中的评论是你想要取消隐藏或设置其他内容的地方。 – Brayden
您可以通过用户'NSTimer'为好。 [见这个堆栈溢出页。] [1] [1]:http://stackoverflow.com/questions/1449035/how-do-i-use-nstimer – kk1