gpt4 book ai didi

ios - 将同一 View 从 VC1 传递并显示到 VC2

转载 作者:行者123 更新时间:2023-11-28 09:50:51 26 4
gpt4 key购买 nike

我有一个 View (在我的例子中是 MGLMapview : mapboxView)显示在我的第一个 VC 中。我希望我的第二个 VC 显示相同的 View 。

所以从 VC1 到 VC2 我做了:

self.VC2.mapView = self.mapView

self.navigationController?.pushViewController(self.VC2, animated: true)

然后在VC2的viewDidLoad中:

view.addSubview(mapView)

我的问题是什么都没有出现。但是,当我在第二个 VC 中打印 mapView 的大小和高度时,它不是零。

我错过了什么吗?

感谢帮助

最佳答案

我也问过自己这个问题。我不知道这是否可能(我从来没有找到一种方法)但不推荐这样做。一旦将 View 放入 View Controller (通过其 view 上的 addSubview), View Controller “拥有”该 View 。

这是 UIView documentation这解释了原因:

Views can be nested inside other views to create view hierarchies, which offer a convenient way to organize related content. Nesting a view creates a parent-child relationship between the child view being nested (known as the subview) and the parent (known as the superview). A parent view may contain any number of subviews but each subview has only one superview.

相反,添加在 VC2 中设置新 map View 所需的属性(例如中心、跨度、任何注释详细信息)并在第二个 View Controller 中设置新 map View 。

关于ios - 将同一 View 从 VC1 传递并显示到 VC2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48300262/

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