UIPopoverController 显示在错误的位置
UIPopoverController displays at wrong position
我想在点击标签时显示 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) 和 Container
中
MainAppView -> TorHeimPopoverViewController -> ContainerView
我该如何解决这个问题?
问题是,inView
参数用于此目的是错误的。 label.frame
的 rect 与它所在的 ContainerView
有关。
例如,当 label.frame
为 x = 300, y = 100
时,它将采用这些坐标,但使用 self.view
作为原点而不是容器。
我想在点击标签时显示 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) 和 Container
MainAppView -> TorHeimPopoverViewController -> ContainerView
我该如何解决这个问题?
问题是,inView
参数用于此目的是错误的。 label.frame
的 rect 与它所在的 ContainerView
有关。
例如,当 label.frame
为 x = 300, y = 100
时,它将采用这些坐标,但使用 self.view
作为原点而不是容器。