我試圖創建一個按鈕,形狀爲半圓形。製作任意大小的按鈕?
裏面的按鈕類
layoutSubviews() {
createSemiCirclePath()
}
func createSemiCirclePath(){
self.translatesAutoresizingMaskIntoConstraints = false
self.clipsToBounds = true
semiCircleShape.path = UIBezierPath.init(arcCenter: CGPoint(x: self.frame.size.width/2 , y:0), radius: self.frame.size.width/2, startAngle: 0, endAngle: CGFloat(M_PI), clockwise: true).cgPath
self.layer.addSublayer(semiCircleShape)
self.layer.masksToBounds = true
}
我得到這樣的:
不過,我想是這樣的:
如果我想
func createSemiCirclePath(){
self.translatesAutoresizingMaskIntoConstraints = false
self.clipsToBounds = true
semiCircleShape.path = UIBezierPath.init(arcCenter: CGPoint(x: self.frame.size.width/2 , y:0), radius: self.frame.size.width/2, startAngle: 0, endAngle: CGFloat(M_PI), clockwise: true).cgPath
self.layer.mask = semiCircleShape
self.layer.masksToBounds = true
}
我的按鈕是
它還允許下按鈕的高度,這我不需要50%的點擊。
(1代碼)
的問題是,只有黑色部分應該點擊能夠和藍色部分應該被隱藏,即,它應該夾到子層。
任何建議表示讚賞。 謝謝。
請檢查該http://stackoverflow.com/questions/1561585/iphone-button-with-non-rectangle-shape –
的HTTP可能重複:/ /stackoverflow.com/a/33310108/5215474 – Saranjith
是的,但完整的矩形按鈕是點擊不僅能夠半圓部分。 –