問題タブ [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 投票する
0 に答える
547 参照

objective-c - NSView から NSViewController にマウスイベントを渡す方法は?

私はTabViewControllerを持っており、XIBで継承しているTabViewのカスタムNSViewを作成しています。

これで、TabView にすべてのマウス ハンドル イベントを正常に実装し、機能しました。

TabViewController で同じイベントが必要ですが、できません。

フォーラム、ブログ、Apple ドキュメントで提案されている方法を試してみました。しかし、私はそれを得ることができませんでした。

ここに画像の説明を入力

マウス ハンドル コードを含む TabView。

呼び出されるすべてのマウス メソッド。でこれが欲しいTabViewController

誰かが同じ手順を行った場合は、私に提案してください。

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

macos - NSResponder rejectFirstResponder が間違ったオブジェクトで起動する

いくつかの NSTextFields を持つ Mac アプリケーション (SDK 10.10) があります。

Xib ファイル

テキスト フィールドがフォーカスを取得したときとフォーカスを外したときに通知を受け取る必要があるため、NSTextField をサブクラス化しました。

このコードを実行して 3 つのテキスト フィールド間でタブ移動すると、コンソールに次の出力が表示されます。

TAB キーを押す (または非アクティブなテキスト フィールドの 1 つをクリックする) たびに、アプリは出力します。

そんなはずないでしょ

???

ここで何かひどく間違っていますか?

のドキュメントは- (BOOL)resignFirstResponder言う

ウィンドウでファーストレスポンダーとしてのステータスを放棄するよう求められたことを受信者に通知します。

では、なぜresignFirstResponder古いファーストレスポンダーではなく、新しいファーストレスポンダーに呼び出されるのでしょうか?

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

cocoa - ウィンドウをドラッグするときにNSViewがドラッグされたイベントを取得する

私のアプリでは、通常はツールバーによってウィンドウが画面上でドラッグされたときに、カスタムが転送された mouseDragged イベントNSViewを受け取るという奇妙な問題があります。

スタック トレースから、Cocoa フレームワークが独自にこれを行っているようです。
(おそらく通常のレスポンダー チェーンのこと)

今、私はドラッグされたイベントが私のビューから発生したのか、それとも他の場所から発生したのかを検出しようとしています.これを行うための堅牢な方法はありますか?

マウスダウンが発生したビューを保存するパブリックメンバーが見つかりませんでした(ただしNSEvent、プライベートフィールドに内部的に保存されているようです)。

または、ドラッグされたメッセージを転送しないようにウィンドウを構成するオプションはありますか?

ヒントをいただければ幸いです。

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

macos - Mac でユーザーの KeyBinding をアプリ固有のものでオーバーライドすることは可能ですか?

ユーザー固有の keyBindings .dict ファイルは次の場所にあります。~/Library/KeyBindings/

AppKit特定のアプリケーションの別のバインディング ファイルを別のディレクトリ (アプリ固有) で探すように(開発者として) どのように指示できますか。これは、テキスト操作以外の機能のためである可能性があるため、ユーザー固有のものをオーバーライドする必要はありません。

これは、次の理由で役立ちます。

  1. システムの残りの部分のユーザー設定を台無しにすることなく、アプリの keyBindings を変更します (特に、オブジェクトが必ずしもテキスト入力オブジェクトではない場合)。
  2. にない追加のアクション メソッドを追加するNSResponder

Cocoa イベント処理開発者ガイド (68 ページ) からの引用。強調は私です。

NSResponder メソッドの interpretKeyEvents: を呼び出すことで、Cocoa のテキスト入力管理システムにイベントを渡すことができます。入力管理システムは、押されたキーを関連するすべてのキー バインディング ディクショナリのエントリと照合し、一致する場合は doCommandBySelector: メッセージをビューに送り返します。それ以外の場合は、insertText: メッセージをビューに送り返し、ビューはこのメソッドを実装してテキストを抽出して表示します。

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

ios - Code=-1016 「リクエストが失敗しました: 受け入れられないコンテンツ タイプ: text/plain」 UserInfo=0x7a2da380

以下はJavaインターフェースです:

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

ios - self.view に追加された UIView スーパービューは nil を返します

ビューが既に追加されている/存在するかどうかを確認してから、それを削除する必要があります

self.view に self.upgradeView を追加しました。ただし、条件は false を返し、self.upgradeView は削除されません。

見逃しているものはありますか?

=========================更新======================= ============

このコードをビューに追加しましたが、このようにself.viewにself.upgradeViewを追加するために使用されるコードのすぐ下に表示されます