如何在3秒后出现静态图像?

时间:2011-06-21 18:08:12

标签: iphone objective-c ios

如何在3秒后显示图像?

4 个答案:

答案 0 :(得分:4)

您可以使用:

[self performSelector: withObject: afterDelay: ]

答案 1 :(得分:3)

我非常喜欢使用GCD(iOS 4+),因为您可以使用内联块简化代码。

在您的情况下,您应该将图像设置为隐藏在Interface Builder中,然后创建一个IBOutlet,其中包含与您班级中的ivar的连接。

然后你可以在viewDidLoad或类似的地方运行它:

dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC * 3.0); 
dispatch_after(delay, dispatch_get_main_queue(), ^(void){
    yourImage.hidden = NO;
}); 

答案 2 :(得分:0)

这假设您从主线程调用performSelector:withObject:afterDelay,并且最初隐藏了UIImageView。

//assumes theImageView.hidden = YES
[self performSelector:@selector(showImage:) withObject:theImageView afterDelay:yourTimeInterval];

-(void)showImage:(UIImageView*)anImageView {
    anImageView.hidden = NO;
}

从主线程调用performSelector非常重要,因为延迟后调用的选择器将在同一个线程上运行,并且您不希望从主线程以外的任何其他位置更新UI作为一般规则。

答案 3 :(得分:-1)

我有一段时间没有使用过XCode,但我会为你做一个刺...

  1. 在Interface Builder中将图像的可见性设置为隐藏

  2. 当你的应用启动时,在init fxn中将一些全局变量设置为当前时间

  3. 在UI的主控制循环中,检查该全局变量是否包含超过3秒前的时间,如果是,请将该图像的可见性参数更改为显示。

  4. 最好我真的可以说没有真正看一眼,这是不可能的。

    祝你好运!