問題タブ [uiresponder]
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.
iphone - UIViewが完全に非表示になるタイミングを知る方法は?
非表示の属性を切り替えることで、2つのビューを切り替えています。1つのビューが非表示または表示されるかどうかをどのように知ることができますか?
ブレークポイントをviewDidLoad、viewDidUnload、viewWillAppear、viewWillDisappear、viewDidDisappear、becomeFirstResponder、およびresignFirstResponderに設定しようとしました。何もない。hidden = YES / NOに設定すると、これらは呼び出されません。
そのビューは...UITabBarItemの下のビューのサブビューのサブビューであるため、私は自分でviewWillAppearを呼び出します。Appleのドキュメントによると、セットアップは不自然であり、一部の自動通知は手動で行う必要があります。これは、非表示のステータスに関連しているはずのbecomeFirstResponderとresignFirstResponderを取得しない場合と同じ問題ですか?
iphone - Monotouch を使用した UITextField ResignFirstResponder の例
私は初心者です。ユーザーが UITextField にテキストを入力し終わったときに、キーボードを取り除くために ResignFirstResponder を呼び出す方法と場所がわかりません。UIResponder クラスに少し混乱しています。Mono のドキュメントには、「キーボードを閉じるには、現在ファーストレスポンダであるテキスト フィールドに UIResponder.ResignFirstResponder メッセージを送信してください。」その方法は?誰かが簡単な実例を投稿できますか? Obj-C には多くの例がありますが、C# にはありません。どうもありがとう。
iphone - iPhoneのカスタムコピーレスポンダー
アプリケーションにWebビューがあります。ユーザーがWebビューから何かをコピーしたときに処理したいのですが、カスタムメソッドをトリガーする必要があります。フォローしてみました。
myViewCtr.mファイルに次のメソッドを配置しました
しかし、何も機能していません-同じものを実装するにはどうすればよいですか?
iphone - サブビューのタッチイベントが発生したときにView Controllerに通知する
ビューにカスタムサブビューがある UIViewController があります。
このカスタム サブビューは、タッチ イベントを追跡し、スワイプ ジェスチャを報告する必要があります。
現在、サブビュー クラスに touchesBegan、touchesMoved、touchesEnded、および touchesCancelled を配置しています。追加のロジックを使用して、スワイプ ジェスチャを取得し、handleRightSwipe メソッドと handleLeftSwipe メソッドを呼び出すことができます。したがって、サブビュー内でスワイプすると、ローカルのスワイプ処理メソッドが呼び出されます。これはすべてうまくいきます。
しかし、実際に必要なのは、handleRightSwipe および handleLeftSwipe メソッドがビュー コントローラーにあることです。それらをサブビュー クラスに残すこともできますが、すべてのロジックとデータも取り込む必要があり、MVC のアイデアが壊れてしまいます。
だから私の質問は、これを処理するクリーンな方法はありますか? 基本的に、タッチイベントメソッドをサブビューに保持して、その特定のビューでのみトリガーされるようにしたいと考えています。しかし、これらのタッチ イベント (この場合はスワイプ ジェスチャ) が発生したときにビュー コントローラーに通知することも必要です。
何か案は?
ありがとう。
アップデート:
Henrik の提案を使用して、私が行ったことの簡単なサンプルを次に示します (読み物を節約するため)。
View Controllerを通知のオブザーバーとして設定しました(早い段階で)。
次に、handleLeftSwipe メソッドを実装します。これは、通知を受信したときに呼び出されます。
サブビューで、スワイプ ジェスチャを受信したときに通知を送信します。
右スワイプも同様です。
iphone - 次のレスポンダーをtableviewcellのカスタムボタンからUITableViewControllerに送信するにはどうすればよいですか?
アップデート:
MENUViewControllerがあり、このビューをTableViewCellに挿入します。MENUViewControllerのボタンを押すと、nextResponderをTableViewCellに渡す方法を教えてください。
MENUViewControllerクラスの私のボタンのLOGから->NSLog(@ "nextResponder =%@"、self.nextResponder); このように表示されますか?
更新の@END
各セルに挿入ボタンがあります。そのボタンを押すと、メッセージが送信されません。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
ボタンからレスポンダーにメッセージをUITableViewControllerに送信させる方法は?
iphone - iPhone: 透過的にタッチを処理する
UIViewController とそれに関連付けられた UIView があります。UIView にはいくつかのサブビューがあります。
UIViewController サブクラスで指定された長方形内のタッチ イベントを処理する方法は?
この処理は透過的である必要があります。UIView とそのサブビューは、指定された四角形と交差していても、タッチ イベントを受け取る必要があります。
PS
- ビュー コントローラで touchesBegan をオーバーライドしても機能しません。内部ビューはイベントを通過させません。
- UIView サブビュー リストの最後にカスタム ボタンを追加しても機能しません。内部サブビューはタッチ イベントを受け取りません。
iphone - UIResponder チェーンの最後に UIApplicationDelegate を追加するにはどうすればよいですか?
IBAction
アプリのさまざまな部分で必要な共通機能のメソッドを提供しようとしています。
つまり、ログインはモーダルに実装され、成功すると、読み込まれたすべてのビュー コントローラーがこのイベントに反応できるようにする通知が送信されます (匿名から認証済みへの移行)。
MyAppDelegate
そのボタンのアクションを IB の First Responder に設定しましたが、レスポンダー チェーンは応答する機会を与えません。
私の問題は、レスポンダーチェーンのさまざまな部分でメソッドを複製したくないということです。すでにサブクラスである共通クラスに追加したいと考えています。
UIResponder
チェーンは までずっと続いていますがUIApplication
、それで終わりのようです。私UIApplicationDelegate
は参加できません。
アプリ デリゲートをレスポンダー チェーンに挿入または追加したい!
(または、タッチアップ内部をアプリ全体の実装に接続する別の方法を見つけます。可能であれば、またはUIButton
のサブクラス化を避けたい)UITabBarController
UIWindow
ios - タッチ イベントを適切な兄弟 UIView に渡す
touchesBegan
親へのオーバーレイでタッチイベントを処理しようとしていますが、タッチ入力がその下のUIView
兄弟に渡されることも許可しています。UIView
タッチイベントを処理し、「これが存在しないかのように次のレスポンダーに送信する」と言う簡単な方法があると思っていましたが、私が見つけることができるのは、nextResponder
返されているように見えるメソッドだけです私のオーバーレイビューの親。その親は実際にはそのオーバーレイビューの次の兄弟にそれを渡していないので、通常はTrueまたはFalseの戻り値を取得してそれを伝えるタッチコールバックで達成される単純なタスクのように見えることを行う方法がわからないままです処理をウィジェット階層の下に維持するかどうか。
明らかな何かが欠けていますか?
iphone - iPad が応答者を辞任しない
セルのコンテンツ ビューに 3 つの UITextFields が追加されたテーブルがあります (セクションごとに 1 行)。特定のフィールドをスクロールしてキーボードの上に表示できるように、挿入する 4 番目のセクションがあります。
私が抱えている問題 (iPad のみ) は、テキスト フィールドの 1 つに firstResponder がある場合、ユーザーが別のフィールドをタップしてもそれが放棄されないことです。iPad のレスポンダー チェーンに違いはありますか? ビュー コントローラ UITextFieldDelegate の次のコードでは、別のフィールドに触れたときに textFieldShouldEndEditing が呼び出されません。完了ボタンを押すと、期待どおりに機能します (別のフィールドがタッチされていない限り)。
以下のコードに何か問題がありますか?