2016-11-25 4 views
-1

私は音楽キーボードコンポーネントを使ってアプリを開発しています。ボタンを押すと、どのようにトリガーされますか?

キーボードのキー(UIButtons)をトリガーするには、2種類の「送信イベント」が必要です。

1)「タッチダウン」彼らは方法Iに

2にそれを必要とするボタンをトリガ)Iをトリガするボタンを必要とする第2の方法は、の側に他のボタン/キーから、ボタンの上にスライドさせてありますそれは左または右からスライドされたときにそれが「触れられた」のと同じように起こります。

どうすればよいですか?

+0

@matt Ok。それは良い説明です。残念ながら、最初からやり直して、必要なボタンアクションを管理できる「スーパービュー」をいくつか作成します。基本的なUIButtonでは実現できなかったことがわかりました。 IBでの「出来事」。 – PlateReverb

+0

@matt Swiftでこれを実装する方法に関するチュートリアルはありますか? – PlateReverb

+0

@matt私はこれが広いレベルで理にかなっていることだけを知っています。私はこれをどのように実装するのか分かりません。私のアプリの現在のキーボード設定には何ヶ月もかかりました(スクロールしたビュー内の8x8グリッドに四角形のキーがある等角キーボードです)。これを最初から8x16のサブビューを持つカスタムスーパービューで再コーディングするというアイデアは、私が解決する必要があるもっと多くの問題を追加します... UIButtonでこの機能を利用する簡単な方法はありませんか?あるいは、カスタムスーパービューとサブビューでこれを行う方法を理解するための出発点へのリンクを私に送ることができますか?助けてくれてありがとう! – PlateReverb

答えて

1

ボタンのビルトインコントロールイベントを使用してこれを行うことはできません。タッチが当初である場合を除いて、ボタンのイベントをまったく取得しないという簡単な理由から、ボタン私はここで説明します:https://stackoverflow.com/a/40414929/341994)。

まだ、これはやりにくいとは言えません。最も簡単なアプローチは、おそらく、すべてのボタンの共通のスーパービューにタッチレスポンス(ジェスチャ認識ツールなど)を置くことです。スーパービューはジェスチャーを追跡できます。そして、どの瞬間にどのボタンが現在内部にあるのかを非常に簡単に見つけることができます。したがって、相互作用全体を管理することができます。また、強調表示と非表示のタイミングを示すメッセージをボタンに送信することもできます。 (ボタンタッチの操作を何かに使用しない場合は、ボタンであるという考えを放棄することもできますが、ボタンのように見えるビューやカスタムコントロールになる可能性があります)

関連する問題