我有一个父viewController
和一个名为childviewController
的{{1}}。
我想显示childview几秒钟,然后解雇它。
如何从父视图控制器中解除子视图控制器?
到目前为止我的代码:
MyController
答案 0 :(得分:3)
您可以使用dispatch_after
一段时间间隔来延迟执行该块:
let seconds: NSTimeInterval = 5.0
let delay = dispatch_time(DISPATCH_TIME_NOW, Int64(seconds * Double(NSEC_PER_SEC)))
dispatch_after(delay, dispatch_get_main_queue()) {
vc.dismissViewControllerAnimated(true, completion: nil)
}
您可以将其定义为一个函数,以防您在程序中的其他位置需要它:
func dispatch_async_main_queue(delay: NSTimeInterval, _ block: dispatch_block_t) {
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue(), block)
}
-
dispatch_async_main_queue(5.0) {
vc.dismissViewControllerAnimated(true, completion: nil)
}