我有一個圓圈和一個側視圖,想簡單地將側視圖放在我的圓圈上方,但我嘗試了幾個命令,如 sideView.bringSubvieToFront(view) 但這不起作用。我還檢查了情節提要中視圖的順序,以確保我的 sideView 位于最后一個位置,這也無濟于事。看起來基本視圖圖形總是高于所有其他看起來很奇怪的視圖。有什么簡單的方法可以把這個 sideView 放在圓圈的頂部?
@IBOutlet weak var sideView: UIView!
let shapeLayer = CAShapeLayer()
override func viewDidLoad() {
super.viewDidLoad()
sideView.bringSubviewToFront(view)
let center = view.center
let circularPath = UIBezierPath(arcCenter: center, radius: 125, startAngle: -CGFloat.pi / 2, endAngle: 2*CGFloat.pi - CGFloat.pi/2, clockwise: true)
shapeLayer.path = circularPath.cgPath
shapeLayer.lineWidth = 10
//shapeLayer.fillColor = UIColor.clear.cgColor
shapeLayer.fillColor = UIColor.red.cgColor
shapeLayer.lineCap = CAShapeLayerLineCap.round
view.layer.addSublayer(shapeLayer)
shapeLayer.strokeColor = UIColor.green.cgColor
}
}

uj5u.com熱心網友回復:
你這里有兩個問題。
sideView.bringSubviewToFront(view)
您的 sideView 是控制器視圖的子視圖,而不是相反。所以你應該打電話view.bringSubviewToFront(sideView)。請參閱檔案:引數是子視圖。
- 代碼順序
在添加其他子視圖和圖層之前,您正在嘗試將子視圖移動到前面。后者最終將放在上面。bringSubviewToFront添加其他子視圖后移動。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468554.html
