ios - 在iOS上相当于runTaskLater()

标签 ios objective-c

使用Android上的Bukkit插件,我可以使用简单的runTaskLater()方法来执行一种方法,先执行一个操作,然后在设定的时间后再执行另一个操作,但是在iOS上,我只知道的performSelector:方法。

我正在尝试做的一个很好的例子是某些文本的淡入淡出动画。假设我希望它先淡入,然后在达到最大不透明度之后再淡出,此刻我必须使用两种单独的方法进行淡入和淡出,这似乎效率不高,但是我无法遇到一个例子或解释如何做到这一点。当然,这可能归因于我对搜索字词的错误选择。

如何将一段代码延迟一定的时间?

最佳答案

您尝试了这两种方法吗?

const float delayInSeconds = 3.0;
NSString *myObject = @"Hello";

// method 1
[self performSelector:@selector(doSomethingWithObject:) withObject:myObject afterDelay:delayInSeconds];

// method 2
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
    [self doSomethingWithObject:myObject];
});

要回答有关标签淡入淡出的问题,请尝试以下操作:
label.alpha = 0.0f;
[UIView animateWithDuration:2.f delay:0.f options:UIViewAnimationOptionCurveEaseIn animations:^{
    [label setAlpha:1.f];
} completion:^(BOOL finished) {
    [UIView animateWithDuration:2.f delay:1.f options:UIViewAnimationOptionCurveEaseInOut animations:^{
        [label setAlpha:0.f];
    } completion:nil];
}];

关于ios - 在iOS上相当于runTaskLater(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983854/

相关文章:

ios - 多个用户登录时访问的核心数据值(iOS Swift)

ios - Storyboard上的侧边栏导航菜单

iphone - 如何反转 NSMutableArray 中的数据?

objective-c - 在其方法调用中设置静态(使用单例模式)

objective-c - 有没有办法(在构建时)判断我的 10.9 应用程序是否可以在 10.8 上运行?

ios - 如何将 View 从 XIB 文件移动到 Xcode 项目中的 Storyboard ?

ios - 如何在iOS中实现comet-chat时修复 "Invalid API key format"

iOS 的 Tableview 单元格上的半透明 View 渗透到其他单元格上

ios - 使用自动布局时何时将 imageView 添加到 UIButton

ios - 枚举时保存数组