一段时间后显示一个按钮

时间:2016-02-15 10:09:50

标签: ios objective-c xcode

对不起,我真的很陌生,我需要帮助。 我试着在8秒之后出现一个按钮。 我希望应用程序在标题屏幕上打开,然后在8秒后显示一个输入按钮继续。 我已经使用按钮设置了屏幕和所有内容,但这不是我想要的。 有人可以帮忙吗?我在Xcode 7.2和iPhone中使用Objective C(记住我真的很新lol)。 谢谢

3 个答案:

答案 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!");
        }];
}