【问题标题】:Convert origin of view in child view controller to parent view controller将子视图控制器中的视图原点转换为父视图控制器
【发布时间】:2017-11-11 19:05:54
【问题描述】:

这是我的基本布局(VC = 视图控制器):

VC1
 -> Container view with embedded VC2

    VC2 (child of VC1)
     -> theView

我想根据VC1 获得theView 的位置,这样我就可以在VC1 之上模态地呈现一个新的视图控制器(VC3)(VC3 的大小和原点与VC1) 然后在VC3 中放置一个新视图,就在theView 所在的位置。

现在,我可以在VC2 中获取theView 的位置,但我不知道如何翻译成父VC1

【问题讨论】:

    标签: ios swift viewcontroller coordinate-transformation


    【解决方案1】:

    您可以使用convert 方法将UIView 的框架的坐标系转换为另一个视图的坐标系。 Hereconvert 方法的文档。

    可以这样使用:

    self.view.convert(theView.frame, to: instanceOfVC1)
    

    【讨论】:

    • 好吧,我想我只是误解了问题所在。这是一个非常简单的解决方案,与我在不必处理子视图控制器 VC2 时获得所需来源的方法非常相似。谢谢!
    • 所以这是我的解决方案: let desiredOrigin = convert(theView.frame.origin, to: VC1.view) 如果需要(在我的情况下需要),我可以通过调用 VC2.parentViewController 来获取 VC1。
    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多