【发布时间】:2016-07-12 05:17:09
【问题描述】:
我想在另一个 View Controller 上添加一个 View Controller 5 秒?
可以帮助我,因为我是 Swift 编程的新手。
提前致谢。
【问题讨论】:
-
如何创建一个 XIB 并将其呈现在视图上?
我想在另一个 View Controller 上添加一个 View Controller 5 秒?
可以帮助我,因为我是 Swift 编程的新手。
提前致谢。
【问题讨论】:
你应该用这个让屏幕在 5s 后消失:
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 5 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
//put your code to remove the screen
}
【讨论】:
调用另一个视图控制器,然后在第二个视图控制器上在 viewDidAppear 函数上添加 5 秒睡眠,然后再次调用第一个视图控制器。
override func viewDidAppear(animated: Bool)
{
print("Inside View Did Appear")
sleep(5)
print("After 5 second")
let initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("RevealViewController")
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = initialViewController
appDelegate.window?.makeKeyAndVisible()
}
【讨论】:
有太多的方法可以做到。我的建议是使用故事板。如果子视图控制器只是父控制器的一小部分,你最好在故事板中使用容器视图控制器。如果要像覆盖一样使用它,使用 segue 连接两个控制器“Present Modally”类型。如果您搜索容器视图控制器或 segue 连接,您可以在 google 中找到示例。
如果您选择 segue 方式来关闭子控制器,您可以在 didViewAppear 方法内的第二个控制器中安排 self.dismissViewControllerAnimated(false, completion: nil) 代码。对于容器视图情况,您可以在 firstview 控制器中编写关闭代码并从中删除容器超级视图。
【讨论】: