問題タブ [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.
ios - 複数のテキストフィールドを持つファーストレスポンダー/キーボードを閉じる
これを経て真剣に…
...私は複数TextFields
といくつかを持っていTextViews
ます。すべてのテキストフィールドに対してバッチまたはグループのファーストレスポンダーを却下する方法はありませんか?フィールドごとにメソッドを作成する必要がありますか?たぶん私はそのリンクの何かを見落としていましたか?
多分私はこのようなものに従うことができます:
後者は理にかなっていますか?前もって感謝します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-
私はそれを考え出した....
objective-c - nextResponder を変更できますか?
たくさんの検索ボックスを手に入れました。検索ボックスの下にテーブルビューがあります。
ユーザーがテーブルビュー (または検索ボックス以外のもの) をクリックすると、検索ボックスのファーストレスポンダーのステータスが失われます。
ただし、tableview にはタッチアップ アクションがありません。
そこで、テーブルビューの後ろに大きなボタンを追加します。タッチアップ イベントが大きなボタンで処理されることを期待して。
テーブルビューがテーブルビューを完全にカバーしていることを考えると、これは機能しません。
それで、私は何をすべきですか?
iphone - UITextField の inputAccessoryView をそのスーパービューに設定する
Add cell... 行を含む UITableView があり、ユーザーが新しいセルの名前を入力できる「メッセージ」アプリケーションのように、その上にビューを表示してキーボードをポップアップさせたいと考えています。
ユーザー データを取得する方法は他にもいくつかあり、実現しようとしている機能を実装する方法もいくつかあることに気付きました。
たとえば、iPod アプリケーションは、新しいプレイリストを作成する必要があるときにポップアップを表示します。
現在、[セルの追加...] 行が押されたときにファーストレスポンダになるように設定された非表示のテキスト フィールドがあり、入力フィールドと確認ボタンを含むビューをこの非表示フィールドの inputAccessoryView として割り当てます。または、このビューをテーブルのサブビューとして追加し、キーボード通知を使用して配置することもできます。
私がやろうとしていることを達成するためのよりクリーンな方法があるかどうかを知りたいだけです(入力テキストフィールドのinputAccessoryViewを表示するように設定してテキストフィールドのスーパービューにするなど)。いくつかのアプローチを試しましたが、ビューを閉じる必要があるときに、resignFirstResponder を使用してキーボードを閉じることができないようです。inputAccessoryView を非表示にすることはできますが、キーボードは断固として開いたままになり、必要な画面領域を占有します。また、ペン先のビューがファイルの所有者として UIViewController を持つ UIView ではなく、ファイルの所有者として UITableViewController を持つ UITableView である場合、非常に奇妙なエラーが発生します:「テーブルの最初のレスポンダー ビューを設定していますが、わかりませんそのタイプ (セル/ヘッダー/フッター)"
前もって感謝します, ジュリアン・セイペック
iphone - iPhone - UITextField でファーストレスポンダを辞任した後、再フォーカスできません
リモートサーバーからデータを検索するために使用されるモーダルウィンドウがあります。ウィンドウのナビゲーションバーのtitleControlとしてUITextFieldがあり、ウィンドウを埋めるテーブルビューがあります(結果が明らかに表示されます)。ここで私がしたいことは、ユーザーがテーブルビューをスクロールしたときに、すぐにテキストフィールドのフォーカスを失い (ファーストレスポンダを辞任する)、キーボードが消え、ユーザーがテーブルビューをスクロールする余地が増えることです (残ったギャップを埋めるために下に伸びます)キーボードで)。UISearchDisplayController (またはそれが呼ばれるもの) を使用する場合と基本的に同じ機能です。
だから私はテーブルビューのスクロールイベントを検出するためのこのコードを持っています:
これはうまくいきます。ただし、問題は、ユーザーがテーブルをスクロールしてテキストフィールドがフォーカスを失うと、もう一度タップしてもフォーカスを戻すことができないことです。したがって、基本的に一度呼び出すと[resignFirstResponser]
、キーボードを元に戻してテキストフィールドの値を編集することはできなくなります。誰でも理由がわかりますか?[becomeFirstResponder]
どこかでフィールドを明示的に呼び出す必要がありますか? フィールドがタップされたときに自動的に処理されると思ったからですか?
また[becomeFirstResponder]
、モーダルウィンドウが最初に呼び出されたときにテキストフィールドを呼び出しているため、フィールドは事前にフォーカスされています。それと何か関係があるのでしょうか?
誰かが望むならもっと多くのコードを投稿できますが、私はテキストフィールドで異常なことをしているとは思いません。
助けてくれてありがとう!
objective-c - UIResponderオブジェクトがファーストレスポンダーのステータスを辞任しても、キーボードは閉じません
2つのUITextFieldをサブビューとしてUIAlertViewをカスタマイズすることができましたが、そうするとキーボードが壊れました。
私がファーストレスポンダーを辞任してそれを却下しようとすると、それは何もしません。
これが私のコードです、まあ、関連する部分だけです(これは私がUIAlertViewサブクラスに入れたものです):
これが私のコードの1つの大きな塊です:
objective-c - NSTextField イベントとファーストレスポンダーの辞任
クリックするとすべてのテキストが選択される NSTextField を実装したいと思います。(ユーザーが現在のすべてのテキストを簡単に削除できるようにするため) Enter/Tab を押すかマウスを四角形の外に移動して編集を終了したら、フォーカスをフィールドの外に移動し、アルファ値を次のように変更します。 0.5。
私のコード:
H ファイル:
M ファイル:
だから、私はいくつかの問題があります:
1.
NSTextField の内側を押すと (フォーカスが外側にある場合)、即座に最初のレスポンダーになり、辞任し、編集終了メッセージが表示されます。何故ですか ?クリックして取得するログは次のとおりです。
2.
Enter キーを押すと、内部のすべてのテキストが選択されるだけで、マウスのフォーカスは移動しません。タブを押すとフォーカスが移動するように見えますが、どちらの場合も rejectFirstResponder が呼び出されません。なんで ?
3. マウス イベント関数が呼び出されていません。そのために何か特別なことをする必要がありますか? NSResponder のものなので、NSTextField から継承して無料で取得しようと思いました。ここでも NSTrackingInfo が必要ですか?
4.
最後になりましたが、何らかの理由で、2 文字ごとに 1 文字が太字に見えます。理由がわかりません。
助けていただければ幸いです。ありがとう
iphone - VoiceOver が UIView 項目を読み取る順序をプログラムで決定する
iPhone アプリにアクセスできるようにしています。VoiceOver はかなり印象的です。ユーザーが VoiceOver を使用すると、画面上の項目が自動的に読み上げられ、ユーザーは画面上の任意の場所をダブルタップしてその項目を選択できるようになります。ただし、VoiceOver に特定の順序でアイテムを読み上げてもらいたいのですが、常に戻るボタンを含む UINavigationBar アイテムから始まります。これらの項目がまったく読まれないようにしたいのではなく、特定の項目から始めたいだけです。「firstResponder」に相当する VoiceOver はありますか?
cocoa - initialFirstResponderを設定しても効果がないのはなぜですか?
3つのテキストフィールドを持つ単純なフォーム(NSWindow)があります。NSWindowinitialFirstResponder
は、最初のフィールド()を「指し示しています」NSTextField
。3つのテキストフィールドはすべて、を介して相互に循環的にリンクされていnextKeyView
ます。
私が抱えている問題は、Xcodeからアプリケーションを起動すると、アプリケーションが閉じられたときに最後にアクティブだった(フォーカスされている)テキストフィールドにフォーカスされることです。
たとえば、テキストフィールドにA、B、Cという名前を付け、AにinitialFirstResponder
設定した場合、アプリケーションを起動してBにフォーカスし、アプリケーションを閉じると、次に起動したときにBにフォーカスが移ります。
それはなぜですか、そしてどのようにこれを修正しますか?
(これが些細な質問である場合は申し訳ありませんが、これらはココアでの私の最初のステップです...)
編集:
これはOSXLion 10.7.1、Xcode4.1にあります。
編集2:
これを「修正」する方法を見つけました...メインウィンドウ(またはそれに関する任意のウィンドウ)XIB / NIBファイルで、[属性インスペクター]をクリックし、[復元可能]チェックボックスをオフにします。これで、アプリケーションは最後の位置を保存しないため、initialFirstResponder
シーイングが尊重され、それに応じてフォローされます。
objective-c - CocoaMacOSXでFirstResponderを設定する際の問題
私はココアを学ぶためだけに小さなアプリに取り組んでおり、FirstResponderをいくつかのNSTextFieldsに設定するのに苦労しています。
ビューが開いたら、最初のNSTextFieldであるclientNumberを選択する必要があるため、loadViewメソッドの最後で[clientNumber beenFirstResponder]をトリガーしますが、テキストフィールドは選択されません。しかし、(IBAction)addToArrayメソッドを起動するボタンをクリックすると、適切なテキストフィールドが選択されます。さらに、別のテキストフィールドがありますか。整数のみを含める必要があるため、大まかな検証を行います。コンテンツがintでない場合、本来のようにビープ音が鳴りますが、テキストフィールドが選択されません。
これが私のコードです:
誰かがここで私を助けてくれることを本当に望んでいます。
編集:
ポインタのおかげですべてが間違っていましたが、コードを修正するときは、次を使用します。FakturaAppDelegate * appDelegate =(FakturaAppDelegate *)[[NSApplicationsharedApplication]デリゲート]; [appDelegate.window makeFirstResponder:self.invoiceCredit]; 代わりにbecomeFirstResponder。しかし、それでも機能しません。
objective-c - ファーストレスポンダのシステム ロジックを理解する
私はいくつかのファーストレスポンダーポイントについて混乱しています:
- を呼び出すと、最初
- becomeFirstResponder
にシステムが呼び出されますか?– canBecomeFirstResponder
なんで? - becomeFirstResponder
との両方があるのはなぜ– canBecomeFirstResponder
ですか? どのような状況で異なる値を返すことができますか?- アプリケーションには毎回ファーストレスポンダーが必要ですか?
– resignFirstResponder
もしそうなら、私が何かのオブジェクトを呼び出すと何が起こっていますか? すぐに最初のレスポンダーになるかUIApplication
、それともこの「トークン」がレスポンダー チェーンのどこかでスローされるか? その巡礼者トークンを取り除きたいときにオブジェクト- becomeFirstResponder
を呼び出すことはできますか?UIApplication
- ...
システムがファーストレスポンダーをどのように管理するか、誰か説明してください。あるオブジェクトがファーストレスポンダーになったときに内部で何が起こっているのか、ファーストレスポンダーを辞任したときに何が起こっているのか。システムは何を呼び出しますか... ありがとうございます!