問題タブ [nsresponder]

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 投票する
2 に答える
3655 参照

objective-c - フルスクリーンモードを終了した後、NSViewのキーボードイベントを受信するにはどうすればよいですか?

NSViewをサブクラス化し、アプリケーションの起動が終了したらフルスクリーンモードを開始します。ビューはfooView、アプリケーションデリゲートのプロパティとして使用できます。

クラスFooView自体は、次の関数を実装します。

フルスクリーンモードを終了すると、ビューはキーボードイベントを受信しなくなります。なんで?

編集:
フルスクリーンモードを終了する方法と関係があるようです。(ウィンドウではなく)ビューをクリックするkeyDown:cancelOperation:、次のように応答します。

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

objective-c - ボタンの上下で異なるアクションを実行

Ok。ボタンの上下のアクションをキャプチャする方法を見つけようとして、私は掘り下げてきました。これに対するXcodeの適切な用語が何であるかさえわかりません。MS Visual ではかなり簡単ですが、Xcode でこれを行う方法が見つからないようです。

基本的に、ボタンを押したままにするとアクションを実行し、ボタンを離すと別のアクションを実行したいと考えています。

どうすればいいのかよくわかりません。正しい方向へのヒントやポインタは大歓迎です!

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

objective-c - keyDown:実装されているクラスがacceptsFirstResponderであるにもかかわらず、応答していません

アプリケーションでNSViewを作成しました。

今、私の実装したkeyDown:応答しません...ブレークポイントまたはNSBeep(); 私はいけない火を実装しました。

同じクラスに実装されたmouseDownは正常に機能します...

keyDownが応答しない理由は何ですか?

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

cocoa - NSRespondermouseウィンドウタイトルにカーソルを合わせると終了します

NSToolbarとコンテンツビューを備えたNSWindowがあります。トラッキングエリアをビューのフレーム全体に設定しました。

カーソルがコンテンツビューを離れてツールバーやウィンドウタイトルに入るときに、mouseExitedイベントを発生させたいのですが。これを達成するための最良の方法は何ですか?追跡領域をツールバーのすぐ下にバインドする必要がありますか?

これが必要な主な理由は、ビューに特別なカーソルが必要なためです。だから私はmouseEnteredでそれを変更していて、mouseExitedのときにもう一度変更したいと思います

ありがとう

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

objective-c - ビュー上でmouseMovedが呼び出されない

mouseMovedを実装するNSViewのサブクラスがあります。

ただし、ビュー上でマウスを動かすと、mouseMovedが呼び出されることはありません。なんで?

私はOSXLionを使用しています。

ありがとう、ヴァンス

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

iphone - UIScrollView は、ビュー コントローラーで touchesBegan、touchesMoved、touchesEnded を防止します

ビュー コントローラー (UIViewController のカスタム サブクラス) でいくつかの UI コンポーネントのタッチを処理しています。touchesBegan:withEvent:touchesMoved:withEvent:、および のメソッドがありtouchesEnded:withEvent:ます。正常に動作していました。次に、スクロール ビュー (UIScrollView) を階層の最上位ビューとして追加しました。

現在、ビュー コントローラーのタッチ ハンドラーが機能しません。彼らは呼ばれません。興味深いのは、スクロール ビュー内に動作する他のさまざまな UI コンポーネントがあることです。一部はボタンで、一部は独自の を定義するカスタム ビューtouchesBegan:withEvent:などです。機能しないのは、ビュー コントローラーのタッチ ハンドラーだけです。

スクロールビューが独自の目的でこれらのタッチをインターセプトしているためだと思いましたが、 UIScrollView をサブクラス化し、それを機能させることができるかどうかを確認するために、YES常に からtouchesShouldBegin:withEvent:inContentView:NO常に から戻っていtouchesShouldCancelInContentView:ます。それでもうまくいきません。

それが違いを生む場合、私のビューコントローラーはタブバーコントローラー内にありますが、それは関係ないと思います。

誰かがこの問題を抱えていて、すぐに解決策を持っていますか? 私の推測では、スクロール ビューはレスポンダー チェーンを上っていきます。私はそれを元に戻すことができますか?他に何もわからない場合は、スクロール ビューの下のトップ レベル ビューをカスタム ビューにして、メッセージをビュー コントローラーに転送しますが、扱いにくいようです。

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

objective-c - mouseDragged イベントが別のビューによって盗まれる

別の 内に クラスMyView( のサブクラス) のビューがいくつかあります。、、、、および を実装します。NSViewNSViewMyView-mouseEntered:-mouseExited:-mouseDown:-mouseDragged:-mouseUp:

ほとんどの場合、MyViewがマウス ダウン イベントを受信するとMyView、次のマウス アップ イベントまで、後続のすべてのマウス ドラッグ イベントが で受信されます。カーソルが の外に出てもMyView. これが予期される動作です。

がマウスMyViewダウン イベントを受け取る場合がありますが、カーソルが 内にある間は、マウス ドラッグおよびマウス アップ イベントのみを受け取りますMyView。カーソルが別の に移動するとMyViewMyViewマウス ドラッグ イベントの受信が開始され (最初にマウス ダウン イベントを受信せずに)、その後のマウス アップ イベントを受信できます。

重要な場合、マウスダウン イベントは の上にFooView(のサブクラスNSView) を作成しMyView、マウス ドラッグ イベントは のフレームのサイズを変更しFooViewます。これらの のいずれかが作成された後にのみ問題を再現できたので、これは関連している可能性がありますFooViewFooViewマウス イベント メソッドを実装しません。

私はこれをしばらくいじっていましたが、意図的に問題を再現することも、単純な例で問題を再現することもできませんでした。私のコードに関する質問に喜んでお答えします。投稿する関連部分が何であるかわかりません。

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

osx-lion - OS X 10.7.2 での間違ったビュー ((null)) でのフォーカスのロック解除

NSWindowControllerを制御するNSWindowCocoaアプリがありNSComboBoxます。特別なことは何もなく、OS X 10.7.2 にアップグレードするまで問題なく動作していました。ウィンドウコントローラーのウィンドウが読み込まれると、次の例外が1回だけ発生します。(私のアプリのウィンドウ コントローラーは読み込まれたままなので、アプリの起動ごとに 1 回だけ発生します。) その後、コンボ ボックスにフォーカスを合わせたりフォーカスを外したりしても、コンボ ボックスはトリガーされません。

10.7.2 で何かが変更されたかどうかを知っている人はいますか?もしそうなら、それを回避する方法はありますか?

(これは Xcode 4.2 で発生しています。)

0 投票する
4 に答える
1705 参照

objective-c - ドラッグ アンド ドロップ イベントを親ビューに転送する

NSView から派生したカスタム ビューを 1 つ持つアプリケーションがあります。このビュー内には、NSView から派生したいくつかのカスタム サブビューがあります。

URL をビューにドロップできるドラッグ アンド ドロップ動作を実装したいと考えています。すべてがメインビューですでに機能しています。

したがって、実際には、子ビューと親ビュー クラスにドラッグ動作ハンドラーを実装する必要があります。問題は、完全な処理コードをすべての子ビューにコピーして、ドラッグ イベントも受け入れるようにしたくないということです。そのため、すべてのドラッグ イベントを親ビューに転送できるようにするのが最善の方法であると考えました。

これはどういうわけか可能ですか?? おそらくレスポンダーチェーンでこれを設定できるかどうかわかりませんか?

どんなヒントでも大歓迎です!! 前もって感謝します。