是否可以在模态视图上设置视图?

Posted

技术标签:

【中文标题】是否可以在模态视图上设置视图?【英文标题】:Is it possible to set a view over a modal view? 【发布时间】:2018-03-20 08:35:24 【问题描述】:

在这个 ViewController 中,它会呈现一个模态视图。

模态视图呈现后,如何将以下视图设置在模态视图之上?

第一个视图是当前 ViewController 中的 UIImageView。

第二个视图是另一个模态视图,在本例中,modalViewController2 将显示在第一个视图下方。

class ViewController: UIViewController 

    @IBOutlet weak var img: UIImageView!

    override func viewDidAppear() 
        super.viewDidAppear()

        self.modalViewController = self.storyboard!.instantiateViewController(withIdentifier: "modal") as! ModalViewController
        self.modalViewController!.modalPresentationStyle = .overCurrentContext
        self.present(self.modalViewController!, animated: true, completion: nil)


        self.modalViewController2 = self.storyboard!.instantiateViewController(withIdentifier: "modal2") as! ModalViewController2
        self.modalViewController2!.modalPresentationStyle = .overCurrentContext
        self.present(self.modalViewController2!, animated: true, completion: nil)
    

【问题讨论】:

【参考方案1】:

首先呈现一个视图控制器应该在viewDidAppear中,因为在viewDidLoad中视图的层次结构还没有完成,其次你不能同时呈现2个模态VC,更好的方法是只制作一个模态VC并构造它有 2 个视图,并根据您的需要管理每个视图的隐藏/显示

【讨论】:

修改问题为viewDidAppear,UIImageView怎么样? 您可以将其添加为子 VC,而不是将 VC 添加为 modal ,并将 imageView 插入到该子视图的上方

以上是关于是否可以在模态视图上设置视图?的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 半透明模态视图控制器

无法设置模态视图控制器的导航栏颜色

我的 NSIndexPath 属性保持未设置是不是可以?

以编程方式在主视图控制器上加载模态视图控制器

模态视图控制器即使在设置其框架 iphone 后也会与导航栏重叠

是否可以在不使背景变暗的情况下在 iPad 上呈现模态视图控制器?