如何在视图加载到显示时间之间引入一个小延迟。
半秒钟没问题。是否有一种更优雅的方式来处理另一个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 :(得分:6)
将所有子视图的初始状态设置为隐藏,并在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:
答案 1 :(得分:4)
简单。看看这个:
[self performSelector:@selector(fadeOutDialog) withObject:nil afterDelay:2.0];
在延迟2秒后,它会执行'fadeOutDialog'方法。