从父母视图中解除viewcontroller

时间:2016-05-11 05:09:03

标签: ios swift uiviewcontroller

我有一个父viewController和一个名为childviewController的{​​{1}}。 我想显示childview几秒钟,然后解雇它。 如何从父视图控制器中解除子视图控制器?

到目前为止我的代码:

MyController

1 个答案:

答案 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)
}