私はカスタムコントローラで作業しています。私は、より多くのオプションの中から選択するために、スライダを作成したいと思います。問題は、私がボタンに触れると私はそれが私のtouchesBegan
メソッドを呼び出さないことです。しかし私が私の見解の他の部分を押すと、それは機能します。ボタンを動かすにはどうすればいいですか?タッチでドラッグボタンを移動
ありがとうございました。あなたはUIButtonのサブクラスを作成し、touchesBegan
を実装する必要がありますそれが機能するためには
私はカスタムコントローラで作業しています。私は、より多くのオプションの中から選択するために、スライダを作成したいと思います。問題は、私がボタンに触れると私はそれが私のtouchesBegan
メソッドを呼び出さないことです。しかし私が私の見解の他の部分を押すと、それは機能します。ボタンを動かすにはどうすればいいですか?タッチでドラッグボタンを移動
ありがとうございました。あなたはUIButtonのサブクラスを作成し、touchesBegan
を実装する必要がありますそれが機能するためには
touchesBeganは... UIButtonでは動作しません詳細はこの回答を参照してくださいhttps://stackoverflow.com/a/4863734/919545
UIButtonは、タッチイベントをキャプチャしています。あなたはこの
myButton.userInteractionEnabled = NO;
を試みる場合、それはもはやタッチイベントを消費しませんが、それはまた、もはやonTouchUpInsideイベントを発生しません。この場合、スーパービューのすべてのタッチを処理し、それに応じてスライダボタンを配置します。
それはうまくドラッグする必要があります。これは任意のUIViewで動作します。
カスタムUIViewを作成してUIButtonクラスの使用を避けてみませんか? UIButtoをサブクラス化するか、または設定するのが簡単です
myButton.userInteractionEnabled = NO;
はい、これは私が最後にやることだと思います。スライダーを押したときにタッチアップ効果を追加したかったのです。 – Cosmin
これが最善の選択であることがわかります。ごくわずかな時間で、あなたが望むあらゆるタッチ効果を作り出すことができます – Pablosproject