【问题标题】:present view controller in UIContentView在 UIContentView 中显示视图控制器
【发布时间】:2017-05-25 11:16:20
【问题描述】:

我在 rootViewController 有 pageViewController(ABC),并且 pageViewController 包含包含 ContentView 的 ViewController(PQR)。我想展示 ViewController 但它说的是

警告:尝试在 ABC:0x17e67dc0 上显示 XYZ:0x17ee0730,其视图不在窗口层次结构中!

我想在哪个控制器上显示视图控制器

【问题讨论】:

  • 添加工作完成代码。
  • 是的!显示您的代码!你所说的包含是什么意思?您是否将 viewcontroller 的视图添加为子视图?
  • 已解决。实际上我正在将 pageViewController 设置为 navigationController

标签: ios objective-c presentviewcontroller


【解决方案1】:

很高兴您的问题得到解决。如果您想从除视图控制器之外的任何UIView 显示警报,这将有所帮助。

此方法获取顶视图控制器,以便您可以从中显示警报:

func currentTopViewController() -> UIViewController{

    var topVC: UIViewController? = UIApplication.shared.delegate?.window??.rootViewController

    while ((topVC?.presentedViewController) != nil) {

        topVC = topVC?.presentedViewController

    }

    return topVC!

}

func showAlert() { // This presents your alert from the received view controller object

    let alertController: UIAlertController = UIAlertController.init(title: "title", message: "message", preferredStyle: .alert)

    let alertAction = UIAlertAction.init(title: "OK", style: .default) { (UIAlertAction) in
            //Your action    
    }

    alertController.addAction(alertAction)

    currentTopViewController().present(alertController, animated: true, completion: nil)

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多