問題タブ [nswindowcontroller]
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.
objective-c - NSWindowControllerawakeFromNibが2回呼び出されています
ボタンがクリックされたときにポップアップウィンドウを作成することを目的としたアプリケーションがあります。ポップアップウィンドウはnibファイルからロードされます。そして、ボタンがクリックされ、ウィンドウが楽しくポップアップします。ただし、そのawakeFromNibメソッドは2回呼び出されます。これがコードです。
アプリケーションデリゲート:
Config_SelectorSetup.m
そしてここに出力があります:
コールスタックを分析します。最初は。[NSObject performSelector:]
によって2番目に呼び出され[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:]
ます。
誰かが私が間違っていることを教えてもらえますか?
ありがとう
cocoa - モーダルウィンドウ内でモーダルウィンドウを開く方法
このコードは、モーダルウィンドウでボタンが押されたときに呼び出されます。現在のウィンドウは、-(void)showWindow:(id)senderメソッド内で[NSApp runModalForWindow:[selfwindow]]を使用してモーダルになりました。
新しいウィンドウを開くには、次のコードを使用します。正常に動作しますが、押されたボタンは「クリック」状態のままです。おそらく私は何か間違ったことをしているのでしょう。
ブロックは、クローズメッセージを受信すると、NSWindowControllerのサブクラスによって呼び出されます。ありがとうございました。
macos - コントロールを NSWindowController サブクラスに強制することは可能ですか?
ココア アプリケーションを作成しており、NSWindowController を使用して設定ウィンドウを読み込んでいます。
ユーザーが設定ボタンを選択し、設定ウィンドウが開いたとき
バックグラウンドでアプリケーションに戻る前に、新しく開いたウィンドウ コントローラーでユーザーが行っていることをアプリケーションに強制的に終了させたいと考えています。
バックグラウンドで何が起こっているのかをブロックし、ユーザーにフォアグラウンドとのやり取りを強制する方法はありますか?
タクンス
objective-c - 位置の制御:NSWINdowControllerの2つのインスタンスを使用する2つのXIB
望遠鏡のモーターフォーカサーを制御するコードを開発しています。一度に1つまたは2つ(異なるUSB productID)を接続できます。私のコードは、1つまたは2つNSWindowController
のオブジェクトの数とインスタンスを識別します。それぞれNSWindowController
が、を使用して2つの別々のXIBを介してわずかに異なるウィンドウを生成しinitWithWindowNibName:
ます。
私はIBを使用setFrameTopLeftPoint:
して、両方のウィンドウの位置を制御しました。
両方のウィンドウが割り当てられた位置にwindowDidLoad
表示されますが、コードが完了すると、2番目のウィンドウが最初のウィンドウの上に並べて表示されます。コードの完了時に最初のウィンドウを配置すると、2番目のウィンドウがその上に並べて表示されます。
誰かが2番目のウィンドウが正しい位置に表示されることを確認するのを手伝ってもらえますか?
ありがとうございました
コード抽出(DCWindowController
私のNSWindowController
クラスです):
cocoa - initWithWindowNibName しない ウィンドウ フィールドを設定する
次のコードを機能させようとしています。1回目は期待どおりにウィンドウを開いてフロントウィンドウにするのですが、2回目以降はorderFront:
windowがnilなので動きません。から返されるオブジェクトinitWithWindowNibName:
のウィンドウ フィールドを設定しないのはなぜですか?NSWindowController
initWithNibName:
cocoa - NSWindowController ウィンドウ?
アイコンをクリックするとウィンドウが表示されるメニューバーベースのアプリケーションがあります。Mac OS X Lion ではすべて正常に動作しますが、何らかの理由で、Mac OS X の以前のバージョンの Snow Leopard でエラーが発生します[TheWindowController window]
。このため、ウィンドウが単に nil ではなく、何らかの形で壊れているとは思いません。
なぜこれが起こるのか、私にはわかりません。先ほども言ったように、これは Mac OS X Snow Leopard でのみ発生します。ところで。それが問題になる場合は、ARCを使用します。
objective-c - (ココア)シングルウィンドウココアアプリのUIViewControllerサブクラスに相当するものは何ですか?
iOSアプリをいじった後、物事が非常に似ていると仮定して、Cocoaアプリに旋風を巻き起こそうと思いました。だから私は分割ビューといくつかNSTableView
のs(iTunesを考えてください)を備えたシングルウィンドウアプリを持っています、そして私はテーブルを満たすためにウェブからデータをフェッチする私のコードを置く場所を探しています。
iOSでは、これをviewDidLoad
適切なUIViewController
サブクラスのメソッドに入れます。次にUITableViewDataSource
、はこのデータにアクセスしてセルにデータを入力します。
今、私はNSWindow
同じようなことをすることができるために持っていますが、どうすればそれのために作ることができますNSWindowController
か?これも私が欲しいものですか?私はそれを入れることができましたが、AppDelegate
正しくないようです。
cocoa - NSWindow が表示される NSScreen を変更する方法
押されたボタンに応じていくつかのウィンドウをロードするアプリケーションがあります。これらの 1 つを除くすべてが mainScreen (メイン ウィンドウが開いている画面) で開きます。そのうちの 1 つ (設定ウィンドウ) が最初の画面 (メニュー バーのある画面) で開きます。NSWindow が開く画面を変更する方法はありますか?
cocoa - NSDocument のウィンドウ タイトルの「編集済み」を上書きする
ダーティな NSDocument のウィンドウ タイトルに「編集済み」と表示されないようにするにはどうすればよいですか?
私は、Web サービスを使用して自分で保存と自動保存を管理していますが、タイトル バーで気を散らしたくないだけです。
私はオーバーライドしようとしました:
- NSDocument の
-isDocumentEdited
および-hasUnautosavedChanges
常に返すNO
. -[NSWindowController setDocumentEdited]
何もしないかNO
、パラメーターの実際の値に関係なく常に使用します。-[NSWindowController synchronizeWindowTitleWithDocumentName]
何もしないこと。-[NSWindow setDocumentEdited]
何もしないかNO
、パラメーターの実際の値に関係なく常に使用します。
いずれの場合も、保存したドキュメントに変更を加えると、タイトル バーは [編集済み] に変わります。
上書き-[NSDocument updateChangeCount:]
し-[NSDocument updateChangeCountWithToken:forSaveOperation:]
て何もしないと、これが発生するのを防ぐことができますが、保存、自動保存、およびその他のドキュメントの動作にも影響します。
私もこれを試しました:
Edited の代わりに空白の文字列が表示されましたが、通常はドキュメント名と Edited を区切るダッシュが表示されていました。
ウィンドウのこの部分をドキュメントからこじ開ける方法はありますか?
cocoa - NSWindow でビューを切り替える
私は Mac 開発は初めてで (iOS の経験は豊富ですが)、NSWindow で NSViewController を切り替えようとしています。それは本当に簡単です: ボタンが押されると、2 番目のビューを表示し、最初のビューを非表示にします。これが私のコードです:
メソッドが呼び出され、secondView が正しく読み込まれていることを確認しました。ここで何が問題なのですか?