問題タブ [first-responder]

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.

0 投票する
1 に答える
777 参照

objective-c - nib の First Responder オブジェクトを理解しようとする

簡単に要約してみましょう。nib ファイルの「ファーストレスポンダ」は、ユーザーのフォーカスを持つ UI コントロール要素を表すオブジェクトです。したがって、ユーザーがコントロールをクリックすると、nib はクリックされた UI コントロールを First Responder として設定します。私のアプリでは、ペン先からその「ファーストレスポンダー」へのアウトレットを作成できるため、たとえば、ユーザーがクリックしてアクティブにしたものに「赤いフォントの色にする」というメッセージを送信できます。

そして、この First Responder UI コントロールがそのメッセージを理解できない場合、親要素または祖父母 (など) の UI コントロール要素がメッセージを理解するまで、メッセージはレスポンダー チェーンに渡されます。それ以外の場合は無視されます。

したがって、First Responder は常に、フォーカスのある UI コントロールへの「リンク」を確立します。そうですか?

( 「First Responder」の正確な複製- 私はそれを正しく理解しましたか?同じ著者による)

0 投票する
2 に答える
38390 参照

iphone - UiTextField と rejectFirstResponder

私は奇妙な設定をしています。

View呼び出されたView1ViewController呼び出しviewController1があります

ではIBView1はViewController1の子です。

View1内で、コード a を使用して作成しUITextField、サブビューとして追加しました。

私のViewcontroller中で、私は持っていますviewController1 : UIViewController <UITextFieldDelegate>

..View1内のテキストフィールドがキーボードの「完了」ボタンを取得したら、キーボードを辞任したいので、

問題は、TEXTFIELD (ビューコントローラーで定義) とビューで定義されたテキストフィールドをどのように接続するかです。

interfaceBuilder で何かをする必要がありますか?

多分私はここで完全にオフです....

いくつかのヒントは大歓迎です

0 投票する
1 に答える
746 参照

cocoa-touch - 私の見解とUIDatePickerのどちらが最初の応答者になるべきですか?

の兄弟を作成UITextFieldしていUIDatePickerますが、キーボードの代わりに使用しています。

複数のそのようなコントロールが互いにうまく機能し、標準でも動作するようにしたいUITextField(つまり、コントロールがアクティブになっている場合はキーボードを日付ピッカーに交換し、テキストフィールドがアクティブになっている場合は日付ピッカーを非表示にします)。

私を混乱させる1つのことは、ファーストレスポンダーのステータスの処理です。UIDatePickerファーストレスポンダーになることを求めていないようです。それが必要ですか?自分のコントロールがファーストレスポンダーを辞任するように求められたときに、ファーストレスポンダーにならず、日付ピッカーを非表示にすることを信頼できますか?

UIDatePickerコントロール(または他のもの)を設定する必要がありnextResponderますか?イベントを処理したくありません。必要に応じて、コントロールがフォーカスを盗んで辞任するようにしたいだけです。

(この場合、ペン先は使用していません)

0 投票する
2 に答える
1681 参照

iphone - TextField とファーストレスポンダーを使用したカスタム TableViewCell

TextField を含むカスタム TableView セルがあり、ビューが表示されるとすぐに最初のレスポンダーになりたいのですが、[textcell.textfield becomeFirstResponder] は機能しません。それは別のクラスのカスタムセルであり、そこで試してみてもうまくいかなかったからです。誰でもこれをやってのける方法を知っていますか?

ありがとう...

0 投票する
2 に答える
8740 参照

iphone - あるUIViewから別のUIViewにファーストレスポンダーを「転送」する方法は?

すべてのイベント(開始、移動、終了、キャンセル)CustomViewを独自に処理するUIViewサブクラス(この質問の目的で)があります。touches私はまた、それと重なるUIButton兄弟です。CustomView

たとえば、私のビュー階層は次のようになります。

  • UIView(コントローラーのビュー)
    • フレーム付きCustomView(0、0、300、300)
    • フレーム付きUIButton(0、0、100、50)

ユーザーがUIButtonからドラッグした後、CustomViewでタッチイベントをキャプチャしたいと思います。デバッグログから、UIControlEventTouchDragExitイベントがインターセプトするイベントであるように見えます(ただし、タッチがボタンから約100ピクセル離れるまで発生しませんが、この質問では重要ではありません)。

理想的には、ドラッグ終了イベントが発生すると、ボタンはタッチ移動イベントの受信を停止し、CustomViewはイベントを取得しtouchesBegan(何らかの方法で自分で偽造する必要がある場合でも)、今後のすべてのタッチイベント(touchesMovedなど)はに送信されます。 CustomView。

次のことを試しましたが、効果がありません。

UITouch基になるオブジェクト(タッチイベント全体で一貫している)は、CustomViewを指すようにリターゲットされていないと思います。どうすれば目的の効果を達成できますか?

0 投票する
3 に答える
2040 参照

objective-c - ビュー コントローラーでファーストレスポンダーへのメッセージを処理する

単純なものが欠けているに違いありませんが、見えません。まず、セットアップ:

  • DATreeView、のサブクラスNSView
  • DATreeViewController、のサブクラスNSViewController
  • MainMenu.xibDATreeViewControllerからビューをロードするように構成された のインスタンスがありますDATreeView.xib
  • MainMenu.xibのインスタンスもありDendreaAppDelegate、アウトレットがあります (のインスタンスDATreeViewControllerに配線されています) 。MainMenu.xibDATreeViewController
  • Do Something!doSomething:、ファーストレスポンダにメッセージを送信するために接続されたメニュー項目です。
  • 偶然でDATreeViewControllerはなく、 というアクションがありdoSomething:ます。

私が望むのは、Do Something!メニュー項目が でdoSomething:アクションをトリガーするDATreeViewControllerことです。ターゲット/アクション接続を直接設定することはできないふりをしましょう。ここで立ち止まって質問します。私の設計は完全に間違っていますか? 私がやろうとしていることは、私の神の目に愚か/悪/恥をかかせる可能性がありますか?

いいえ?偉大な。さて、私の人生では、メニュー項目をアクティブにすることはできません。違いがある場合は、Snow Leopardでこれを行っています。

NSViewとの間の適切な統合を実現するためにNSViewController、たとえばレスポンダー チェーンの管理など、 Matt Gallagher の例に従いましたが、実質的な変更が 1 つNSViewありsetViewController:ます。DATreeViewControllerloadViewメッセージ。私が知る限り、次のコードを実行した後applicationDidFinishLaunching:

レスポンダー チェーンは期待どおりに設定されます。つまり、次のようになります。

レスポンダ チェーンの一部でDATreeViewControllerあり、 に応答しdoSomething:、検証を実装していないため、Interface Builder を使用してDo Something!メニュー項目を First Responder プロキシに接続するだけでよいと思っていました。をdoSomething:アクションとして使用すると、メニュー項目が自動的にアクティブになります。

私は何を間違っていますか?かけがえのない支援をありがとうございました!

0 投票する
2 に答える
2006 参照

objective-c - イベントを処理しない場合は、別のNSControlの下にあるNSControlにイベントを送信します

特定の条件下でマウスクリックを処理できる複数の重ね合わせたコントロールがあります。私がしたいことは次のとおりです。

  1. トップコントロールがイベントを受信し mouseDown:ます。
  2. トップコントロールは、mouseDown:イベントを処理するかどうかを決定します。
  3. もしそうなら、何かをして、他のコントロールがmouseDown:イベントを受け取らないようにしてください。
  4. そうでない場合は、下にあるコントロールにイベントを送信します。
  5. このコントロールは、イベントを処理するかどうかを決定します。

本質的に、私は「Zオーダー」がトップコントロールのすぐ下にあるコントロールにイベントを送信しようとしています。トップコントロールは他のコントロールについて知る必要がなく、インスタンス化時に特別な設定も必要ありません。

[topControl nextResponder]最初に頭に浮かんだのは、イベントをに送信することでしたがnextResponder、ウィンドウ上のすべてのコントロールはウィンドウ自体であり、以前考えていたZオーダーに基づくコントロールのチェーンではないようです。

次のレスポンダーを手動で設定せずにこれを行う方法はありますか?目標は、他のコントロールから独立していて、ウィンドウにドロップするだけで期待どおりに機能するコントロールを取得することです。

前もって感謝します!

0 投票する
5 に答える
70248 参照

ios - UITableViewCellに埋め込まれている間、UITextFieldにファーストレスポンダーになるように指示する

UITextFieldサブビューであるがありUITableViewCellます。

ビューが読み込まれたときに、テキストフィールドをファーストレスポンダーにします。テーブルセルのテキストフィールドへのポインタがあるので、これを行うために私は試しています:

これは、いつ呼び出されたかに関係なく、常に返されます。これはNO、ドキュメントによると、テキストフィールドがファーストレスポンダーになることを拒否したことを意味します...私は何が間違っているのですか?

編集:

触れられたときtextfieldに適切に反応します。次にキーボードを起動します。becomefirstresponder問題が発生するのは、プログラムで指示した場合のみです。

0 投票する
28 に答える
170599 参照

objective-c - プライベートAPIを使用せずに現在のファーストレスポンダーを取得する

私は1週間ほど前にアプリを送信し、今日は恐ろしい拒否メールを受け取りました。非公開のAPIを使用しているため、アプリを受け入れられないことがわかります。具体的には、

アプリケーションに含まれている非公開APIはfirstResponderです。

さて、問題のあるAPI呼び出しは、実際には私がここSOで見つけた解決策です。

画面に現在のファーストレスポンダーを表示するにはどうすればよいですか?アプリが拒否されない方法を探しています。