gpt4 book ai didi

Swift 从弹出窗口和单元格内的按钮以编程方式在 map 顶部打开一个新的 View Controller

转载 作者:行者123 更新时间:2023-11-28 07:02:53 26 4
gpt4 key购买 nike

我有一个奇怪的问题。请注意,一切都是以编程方式完成的,因此请不要提出 Storyboard建议。这是设置:

我有一个 Master-Detail View 布局,其中 Detail View 是一张 map 。主视图的表格中充满了表示 map 上注释点的单元格。当您点击一个单元格时,它会聚焦在 map 上的该注释上,并使用弹出框打开一个自定义注释 View 。同样,当您点击注释本身时,会打开相同的弹出窗口。到目前为止,还不错。

现在,在每个单元格内的弹出窗口内 有一个按钮,按下该按钮时,应打开一个填满整个屏幕的新 View 。该 View 将具有特定于其相应注释的信息。

下面是我尝试的方法:

具有 map 的类 (MyDetailViewController)

public func openNewViewController(){
self.presentViewController(NewViewController(), animated: true, completion: nil)
}

单元格按钮和弹出按钮的函数调用

func btnPressed(sender: AnyObject){
var dvc = MyDetailViewController()
dvc.openNewViewController()
}

当任一按钮被点击时,我得到同样的错误:

警告:试图在 View 不在窗口层次结构中的 DetailViewController 上显示 NewViewController!

那么,DetailViewController 不在窗口层次结构中是什么意思..?一定是因为我看到了,不是吗?

知道如何解决这个问题吗?提前致谢!

最佳答案

你的函数 openNewViewController() 什么都不做!
看代码

self.presentViewController(openNewViewController()) , animated : true , completion: nil)

指向它自己。

试试这个:

public func openNewViewController(){
var newController = UIViewController() // or any other view you wish to instantiate
self.presentViewController(newController, animated: true, completion: nil)
}

关于Swift 从弹出窗口和单元格内的按钮以编程方式在 map 顶部打开一个新的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com