円形のボタンを作成するための他の質問をチェックしましたが、うまく機能します-
button.layer.cornerRadius = button.frame.size.height/2;
ただし、元のフレーム全体でボタンが UIControlEventTouchUpInside に応答することがわかりました。円形レイヤー内でのみ UIControlEventTouchUpInside イベントに応答させるにはどうすればよいですか?
ありがとう、シュリダール
円形のボタンを作成するための他の質問をチェックしましたが、うまく機能します-
button.layer.cornerRadius = button.frame.size.height/2;
ただし、元のフレーム全体でボタンが UIControlEventTouchUpInside に応答することがわかりました。円形レイヤー内でのみ UIControlEventTouchUpInside イベントに応答させるにはどうすればよいですか?
ありがとう、シュリダール
あなたの最善の策は を実装する
こと-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
で
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
あり
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
、タッチするたびにヒットボックスをチェックする必要があるためです。単純に、距離 (center, touchPosition) が buttonRadius より小さいかどうかを確認します。