2016-10-13 8 views
0

ジレンマ:インタラクティブではない切り抜かれた領域を持つ丸いボタンを作成する方法。Swiftでインタラクティブにクリップされていない領域を持つ丸いラベル/ボタンを作成する方法3

例:

myButton.layer.cornerRadius = 50 
myButton.clipsToBounds = true 

結果:

enter image description here

グレート!私は灰色の領域をインタラクティブに保つことは望んでいませんが。 UBezierPathを使用してボタンをカスタマイズし、ビュー内の図形を描き、すべてのクリックの座標がカスタムパス内にあるかどうかを確認して反応するようにします。しかし私はより簡単な方法があると信じたい!

大変感謝しています。 ありがとうございました!

+0

あなたが内部の他の何かをすれば... X/Yポイントの範囲声を出して丸みを帯びたエリアに対して、タッチポイントのX/Yをチェックしようとすることができますそれを無視してください。 – Dasem

+0

@Dasemご意見ありがとうございました。それは良いものです。 – Maxim

答えて

0

私のために存在する最も簡単な方法:

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { 
     return UIBezierPath(roundedRect: self.bounds, cornerRadius: self.cornerRadius).contains(point) 
} 
関連する問題