对不起,我真的很陌生,我需要帮助。 我试着在8秒之后出现一个按钮。 我希望应用程序在标题屏幕上打开,然后在8秒后显示一个输入按钮继续。 我已经使用按钮设置了屏幕和所有内容,但这不是我想要的。 有人可以帮忙吗?我在Xcode 7.2和iPhone中使用Objective C(记住我真的很新lol)。 谢谢
答案 0 :(得分:1)
您可以使用定时器方法或分配方法,但定时器主要是为了重复,所以我会选择发送:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 8 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
self.myButton.hidden = FALSE;
});
第一个参数看起来很奇怪,但让我们用doc解释它:
dispatch_time()函数返回相对于的里程碑 添加偏移纳秒后的现有里程碑。如果base参数在内部映射到挂钟,则返回的值相对于挂钟。否则,如果base是DISPATCH_TIME_NOW,则使用默认主机时钟的当前时间。
NSEC_PER_SEC
表示秒(1000000000)内的纳秒数,因此您只需将其乘以8并获得8秒,即将DISPATCH_TIME_NOW
表示的当前时间加上。 / p>
答案 1 :(得分:0)
您需要按照步骤
进行操作1)当屏幕上显示viewIs时,您需要设置计时器以在屏幕上添加按钮。
2)您在ViewWillAppear
中检测到ViewController
中显示的视图。
3)在viewWillAppear
中使用选择器添加以下方法,该方法将在10秒后执行
[self performSelector:@selector(displaybutton:) withObject:request afterDelay:10.0];
4)在displaybutton
方法中编写代码以显示按钮或者如果您在StoryBoard
中设置了图像,则设置button.hidden =此方法中的否
答案 2 :(得分:0)
在“界面”构建器中隐藏设置按钮属性,并在viewWillAppear
-(void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self performSelector:@selector(showButton) withObject:nil afterDelay:8.0];
}
- (void)showButton{
[UIView animateWithDuration:0.5 delay:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
self.startButton.hidden = NO;
}completion:^(BOOL finished){
NSLog(@"Done!");
}];
}