显示隐藏按钮后插入休息/睡眠
Insert break / sleep after showing a hidden button
我想显示一个按钮,然后我想显示它 1 秒,然后视图控制器必须更改。
我已经尽力了。但我把 sleep(1) 放在哪里并不重要; - 它总是做同样的事情。它等待 1 秒,然后显示按钮非常非常短的时间,然后切换到另一个视图控制器。
有人可以帮忙吗?
我的代码:
[self.resultButton setTitle:category forState:UIControlStateNormal];
self.resultButton.hidden = NO;
sleep(1);
UIViewController *vc = [[UIViewController alloc] init];
vc = [self.storyboard instantiateViewControllerWithIdentifier:@"mapViewControllerID"];
[self presentModalViewController:vc animated:YES];
要实现这一点,您可以在延迟一段时间后使用 NSTimer 调用特定函数,并在该函数中放入代码以显示新视图控制器
NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("showController"), userInfo: nil, repeats: false)
func showController(){
//present view controller here
}
使用 GCD 的 dispatch_after
来完成这个。
[self.resultButton setTitle:category forState:UIControlStateNormal];
self.resultButton.hidden = NO;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"mapViewControllerID"];
[self presentModalViewController:vc animated:YES];
});
您还应注意,您编写的视图控制器分配会创建一个默认值 UIViewController
,然后立即丢弃该对象并从故事板分配一个视图控制器。
我已经像描述的那样使用了 dispatch_after()
here
我想显示一个按钮,然后我想显示它 1 秒,然后视图控制器必须更改。 我已经尽力了。但我把 sleep(1) 放在哪里并不重要; - 它总是做同样的事情。它等待 1 秒,然后显示按钮非常非常短的时间,然后切换到另一个视图控制器。
有人可以帮忙吗?
我的代码:
[self.resultButton setTitle:category forState:UIControlStateNormal];
self.resultButton.hidden = NO;
sleep(1);
UIViewController *vc = [[UIViewController alloc] init];
vc = [self.storyboard instantiateViewControllerWithIdentifier:@"mapViewControllerID"];
[self presentModalViewController:vc animated:YES];
要实现这一点,您可以在延迟一段时间后使用 NSTimer 调用特定函数,并在该函数中放入代码以显示新视图控制器
NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("showController"), userInfo: nil, repeats: false)
func showController(){
//present view controller here
}
使用 GCD 的 dispatch_after
来完成这个。
[self.resultButton setTitle:category forState:UIControlStateNormal];
self.resultButton.hidden = NO;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"mapViewControllerID"];
[self presentModalViewController:vc animated:YES];
});
您还应注意,您编写的视图控制器分配会创建一个默认值 UIViewController
,然后立即丢弃该对象并从故事板分配一个视图控制器。
我已经像描述的那样使用了 dispatch_after()
here