我有這樣的層次結構:
- 滾動視圖
- --- 容器視圖
- -----回圈視圖

此滾動視圖也可以縮放。當我按下這個回圈視圖時,我需要在回圈視圖的中心顯示view2(我有點擊手勢識別器)。但是view2應該放在容器視圖上,因為我們還需要使用回圈視圖對其進行縮放。
我嘗試使用這種方法在需要顯示view2 的地方獲得 rect 。
func getSourceRect(for cycleView: UIView) -> CGRect {
let rectOnContainer = cycleView.convert(cycleView.frame, to: containerView)
let rectOnScrollView = containerView.convert(rectOnContainer, to: scrollView)
return rectOnScrollView
}
然后我做下一步
let sourceRect = getSourceRect(for: cycleView)
view2.center = CGPoint(x: sourceRect.midX, y: sourceRect.midY)
它不起作用。請幫助我理解這種行為并獲得我可以顯示view2 的位置
uj5u.com熱心網友回復:
因此,您希望 view2 以回圈視圖為中心但附加到容器視圖?
如果這是真的那么
// if view2 and cycle view's parent is container view
// then there should not be a need to transform view2's
// coordinate space
view2.center = cycleView.center
// make sure z position is correct so that cycle view isn't obscuring
// view2's visibility.
view2.parent?.bringSubviewToFront(view2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370556.html
