UIPopoverController显示在错误的位置

时间:2015-01-26 13:11:34

标签: autolayout uipopovercontroller

我想在点击标签时显示UIPopoverController。所有元素都使用AutoLayout进行布局。

// In TorHeimPopoverViewController.swift
// self.view is TorHeimPopoverViewController's view

popover.presentPopoverFromRect(label.frame, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Left, animated: true)

它显示在另一个UIPopoverController(TorHeimPopoverViewController)中,并在容器中显示

MainAppView - > TorHeimPopoverViewController - > ContainerView

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题是,inView参数出于此目的是错误的。 label.frame的矩形与ContainerView有关。

例如,当label.framex = 300, y = 100时,它将采用这些坐标,但使用self.view作为原点,而不是容器。

enter image description here