【问题标题】:Present two UIViewControllers on top of each other programmatically in one function在一个函数中以编程方式呈现两个 UIViewControllers
【发布时间】:2017-01-03 15:57:30
【问题描述】:

我正在尝试呈现 (1) ScrollViewController,然后呈现 (2) ImagePicker。但是,只显示ScrollViewController,而不是之后的ImagePicker。

单独来说,下面的代码工作正常,只是当一个跟随另一个时,它不起作用。我已经尝试在完成处理程序中包含一个,但仍然没有运气。

没有显示错误,除了,当序列发生时,Xcode 调试区域显示但完全空白,没有错误消息或警告。

问题:

我想念这里到底发生了什么?为什么两个都没有出现?如何确保ScrollViewController 和ImagePicker 一个接一个地显示?

(1) ScrollViewController:

 let storyboard = UIStoryboard(name: "Main", bundle: nil)
 let vc = storyboard.instantiateViewControllerWithIdentifier("ScrollViewControllerID") as! ScrollViewController
 self.presentViewController(vc, animated: true, completion: nil)

(2) 图像选择器:

 let imagePicker = MyImagePickerController()
 imagePicker.delegate = self
 imagePicker.sourceType = .PhotoLibrary
 imagePicker.allowsEditing = false
 imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
 self.presentViewController(imagePicker, animated: true, completion: nil)

【问题讨论】:

  • 你想要一个在另一个之上,一次,然后让用户关闭 ImagePicker 以显示 ScrollViewController?
  • @BaseZen 是的,这将是我想要实现的一个很好的最终配置。 (但即使只是一个接一个地展示我也想知道。)

标签: ios swift uiviewcontroller uiimagepickercontroller presentviewcontroller


【解决方案1】:

一个视图控制器一次只能呈现一个呈现的控制器。确实,有一个属性:presentedViewController: UIViewController? 暗示了这一点。协调这些行动:

A.仅展示您的基础 VC 中的第一个 VC。

B.在第一个展示调用的完成处理程序中,让 second VC 展示最后一个在顶部的:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("ScrollViewControllerID") as! ScrollViewController
self.presentViewController(vc, animated: true) {
    let imagePicker = MyImagePickerController()
    imagePicker.delegate = self
    imagePicker.sourceType = .PhotoLibrary
    imagePicker.allowsEditing = false
    imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
    vc.presentViewController(imagePicker, animated: true, completion: nil)
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-01-12
  • 2021-09-07
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多