問題タブ [uicontrolevents]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 7 の UISwitch valueChanged イベントと以前のイベント
iOS 6 以前では、 に登録しUIControlEventValueChangedてUISwitchユーザーがスイッチをタップすると、変更アニメーションが終了したときにメソッドが呼び出されます。iOS 7 では、スイッチ アニメーションの開始時 (または少なくともタッチの終了時) に発生するようです。古い動作を取り戻す方法はありますか?
編集:なぜ私がこれを求めているのかを明確にする必要があります。にスイッチがありUITableViewCellます。スイッチの値が変わると、テーブルの内容が変わるので、 を呼び出す必要があります[tableView reloadData]。変更が複雑すぎて、セクション/セルの追加/削除アニメーション API で処理できません。そのため、スイッチが新しいセルで新しい値で再生成され、クールなスイッチ アニメーションが失われます。iOS 6 以前では、ハンドラーはアニメーションの最後に実行されるため、これは問題ではありませんでした。
ios - UIDatePicker のバグ?最小内部に達した後の UIControlEventValueChanged
確かに iOS7 のバグのように見える奇妙な現象に出くわしたことがありますが、過去に、Apple の API にバグを見つけたと思ったときに、それが自分の誤解であることが判明したことがよくありました。
datePickerMode = UIDatePickerModeCountDownTimer および minuteInterval = 5 の UIDatePicker があります。期間を 1 時間に初期化し、ユーザーに提示します。ユーザーには、時間と分の 2 列のピッカーとして表示されます。(ここまでは順調ですね。)
ユーザーは「20 分」と考えているので、Hour 列を 0 にスクロールします。この時点で、ピッカーは 0 時間 0 分を読み取り、iOS7 はそれでクールではないため、分ホイールを自動的に 5 にスクロールします。ハンドラーが呼び出され、countDownDuration が 5 分を読み取ります。(まだいい。)
ここで、ユーザーは分ホイールをつかんで 20 にドラッグします。さらに、UIControlEventValueChanged ハンドラーが呼び出されません。(悪い。)
この時点でUIに他のイベントがある場合、日付ピッカーをチェックすると、countDownDurationが20に設定されていることがわかります。しかし、ユーザーが変更したことを知る方法はありませんでした。これは非常に繰り返し可能です: ピッカーが 0 に設定されることを拒否した後 (5 分に進む)、最初の変更で常に発生します。
これは iOS7 のものであることに注意してください。iOS6では発生しません(ピッカーが完全に0分に設定する内容になっているためか)。
それで...ここで何か足りないのですか?それとも、これは iOS7 の本物のバグですか? そして後者の場合、タイマーが現在の間隔を定期的にチェックするよりも良い回避策を知っている人はいますか?
wpf - リソース ディクショナリ wpf にリンクされたクラスから発生しないコントロール イベント
こんにちは、リソース ディクショナリからインターフェイスに読み込まれる入力情報を入力するために使用されるテキスト ボックスに関数をアタッチしようとしています。これがXMLです。
上記のコードから、いくつかの異なるタイプのコントロール イベントを使用しようとしました。クラスをリソース ディクショナリにリンクする次の行を使用して、関数を配置するクラスを正常にリンクしました。
これが私が使用しているクラスのコードです。
ご覧のとおり、単純なメッセージを使用して、イベントが発生したかどうかを示しています。プロジェクトは正常にビルドされ、正常に実行されますが、XML で使用されるイベントをトリガーしようとすると、イベントに関連付けられた関数がトリガーされます。まったく発火しない。
これが関数をリソース ディクショナリによって読み込まれたイベントにリンクする最良の方法であるかどうかはわかりませんが、私が経験しているこの問題について誰かが何らかのガイダンスを提供してくれます。
ios - UITableViewCell に UIControlEvents を追加する方法
UIControlEvent を UITableViewCell に追加する方法を知りたいですか? でメソッドaddTarget:action:forControlEventsを使用できませんUITableViewCell。didSelectCellAtIndexPath:とを知る必要があるため、UIControlEventTouchDown使用できませんUIControlEventTouchUpInside。どうすればこれを達成できますか?
ありがとう!
objective-c - UIControl サブクラス - タッチ イベント フローを停止するには?
私はボードゲームアプリ(チェスなど)を書いています。メイン ビューは、ボードを回転させるフルスクリーン ビューの任意の場所で開始されたスワイプ ジェスチャ (UISwipeGestureRecognizer) を認識します。
ここで、ボードの真上に正方形の透明なサブビューを追加しました。これはタッチを検出する UIControl サブクラスです - ボード上でのポーンの動きとして:
UIControl サブクラスで覆われている画面の領域でスワイプ ジェスチャがブロックされることを期待していました。そして、そうではありません。そのため、正方形の boardControl をすばやくタッチ アンド ドラッグ (スワイプ) すると、最初はポーンの動きとして検出されますが、ボードを回転させるスワイプとして再び検出されます。
UIControl サブクラスを作成して、そのフレームで開始されたタッチ イベントのスーパービューへのフローをブロックするにはどうすればよいですか?
次のいずれかの方法で、スーパービューのレベルでタッチをフィルタリングすることで、アプリがスワイプ ジェスチャに反応しないようにすることができます。
または:
しかし、私はその問題を 1 レベル前に解決したいと考えています。boardControl が、ビュー階層の上位にあるフレーム タッチ イベント内で開始されたものを渡さないようにしたいと考えています。
UIControl サブクラスでそのスーパービューを「カバー」し、取得したすべてのタッチを「食べる」ことができるので、そのようなタッチを除外する必要があるかどうかを推測するためにスーパービューがそのフレームにアクセスする必要はありませんか?