問題タブ [nsviewcontroller]
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 - Mac OS X Cocoa シングル ウィンドウ アプリケーション アーキテクチャ
シングル ウィンドウ アプリケーションが Mac OS X で動作するように最適な方法でアプリケーションを設計する方法がわかりません。単一のドキュメントと単一のウィンドウ アプリケーションを使用したいと思います (ユーティリティ アプリケーションのコーディングはしていません)。ウィンドウの内容を初期化する必要があります。
iOS では、その目的のためにルート ビュー コントローラのメソッド-[UIViewController viewDidLoad]
またはメソッドを使用する必要があります。-[UIViewController viewWillAppear:]
チュートリアルのアドバイスや、NSDocument - NSDocumentController - NSWindowController - NSViewController クラスの扱い方を教えてください。
回答ありがとうございます。:-)
objective-c - ロードされたビューでコントロールを選択する
NSViewControllerの使用とビューの切り替えについて質問があります。私は窓のあるCocoaアプリケーションを持っています。ウィンドウの考え方は、各ビューが個別のXIBファイルに保存されている複数のビューを1つずつ表示することです。各ビューには、対応するNSViewControllerがあります。最初のビューのみがロードされる場合に行っていることの最小限の例を作成しました。
ウィンドウがロードされると、FirstView.xibからのビューもロードされ、ビューがウィンドウに表示されます。この場合、ロードされたビューにはテキストフィールドしかなく、ユーザーがクリックしなくても入力を直接書き込むことができるようにテキストフィールドを強調表示したいのですが、その方法がわかりません。ビューの読み込み時にテキストフィールドを選択することはできますか?
ドキュメントを読んだ後、おそらくウィンドウのinitialFirstResponderをテキストフィールドに設定したいことがわかりましたが、テキストフィールドがウィンドウとは異なるXIBファイルにある場合はその方法がわかりません。
objective-c - 複数の NSViewController でツールバーを使用する
メインビューとして機能する複数の NSViewControllers をロードする単一ウィンドウのドキュメントベースのアプリケーションがあります。各ビュー コントローラーは、特定のビジネス ニーズを処理する自己完結型のクラスであり、動作に必要なすべてのメソッドを実装します。
私の問題は、特定のView Controllerがロードされたときにツールバーを機能させる方法です。これらがウィンドウ クラスに実装されている限り、ツールバーをデリゲートに配線し、ツールバー項目をアクションに配線することに問題はありません。しかし、ビューのメソッドでツールバー項目に新しいアクションを設定しようとするとloadView
、ツールバー項目は単にそれを無視し、メイン ウィンドウ クラスでメソッドを呼び出し続けます。
では、ツールバー項目のアクションを動的に変更するにはどうすればよいでしょうか?
objective-c - ビューの交換 - NSWindowController と NSViewController(s)
私は Mac OS プログラミングの初心者です。現時点では、上部にツールバーがあり、下部に適切なビューがある 1 つのウィンドウを持つ単純な測定アプリケーションを作成しようとしています。ツールバーの ボタンをクリックすると、その下のビューが切り替わります。たとえば、[接続] ボタンをクリックすると接続設定が表示され、[測定] にはデバイスからの現在のデータが表示されます。
問題は - ビューのスワッピングの処理方法がわからない、つまり、私が知っているが正確ではないことです...ここで同様の議論を見つけました: NSViewController and multiple subviews from a Nib but there is no answer to create how to create NSWindowControllerとそれをメイン ウィンドウに割り当てる方法。ビューを交換できるようにするには、 NSWindowController を作成する必要があると思います。私が間違っている場合は、私を修正してください。
だから私は新しいプロジェクト(ここではSampleと呼ばれる)を作成しています.SampleAppDelegate.hファイルは次のようになります:
(私が思うに) MainMenu.xib から作成された唯一のウィンドウを保持するウィンドウ ivar があります。
では、SampleAppDelegate からウィンドウの NSWindowController を作成するにはどうすればよいでしょうか?
WindowController サブクラスを作成し、関数で (void)applicationDidFinishLaunching:(NSNotification *)aNotification of the SampleAppDelegate を次のように作成する必要があります。
ヒントや助けにとても感謝しています。
マルシン
objective-c - View ControllerのCocoaプッシュ/ポップの解決策はありますか?
これを邪魔にならないようにしましょう。私は、UIKit
View Controllerを心のコンテンツにプッシュ/ポップできる場所に慣れています。それはMacでは機能しません。
ではTwUI
、これは Mac で非常にうまく機能します。たとえば、TwUI を使用し@joshaber
たのプッシュ/ポップの例を見てください。が完全に安定していて、コントロールをに埋め込むことができれば、私は AppKit を完全に捨てるでしょう。ただし、すべてを で実行できるわけではなく、AppKit を保持する必要があるものもあります。TwUI
AppKit
TUIView
TwUI
したがって、私の質問をもたらします。AppKit を使用して、このようなことをどのように達成できますか? これを簡単にしたライブラリはありますか?それとも自分たちで作る必要がありますか?使用replaceSubview:withSubview:
するだけでは十分ではなく、実際にはビューをプッシュ/ポップしていません。
xcode - ペン先を使用してカスタム ビューを作成し、ウィンドウで使用する
私はこの問題にかなり苦労しており、自分でそれを理解できないようです。
これが状況です。独自の ViewController を備えたカスタムの Nib ベースのビューが必要です。次に、このビューをウィンドウに追加します。したがって、ウィンドウにはカスタム ビューが含まれている必要があります。
そこで、次のような非常に単純な例を作成します。
- Xcode 4 で、空白のドキュメント ベースの新しい Cocoa アプリケーションを作成します。
- から拡張する必要がある新しい Cocoa クラスを作成します
NSViewController
(これにより、.h および .m ファイルと共に nib が作成されます。作成された .h、.m および .xib ファイルの名前はFaceViewController
テスト目的のためのものであり、表示のみを行う必要がありますとりあえずテキスト。 - InterfaceBuilder でを開き、
NSViewController.xib
複数行のテキスト コンポーネントを追加して、既に xib ファイルにあるカスタム ビューに配置します。テキストをビュー全体に広げます。 - また
MyDocument.xib
、プレース ホルダーを追加しCustom View
ます。これは、カスタム FaceView に置き換える必要があります。
この開始点から、作成した View + ViewController を含めようとしたすべてがMyDocument.xib
失敗し、テキストを表示する必要がある領域は空のままです (下にあるウィンドウの背景のように.
私のFaceViewが、私が配置したカスタムビューにロードされるように、私の質問は本当に私がしなければならないことですMyDocument.xib
。ここに私には不明な点がいくつかあります:
- カスタム ビューはから拡張され
NSView
ているので、これを FaceView に変更したかったのですが、ビューはクラスとして存在しませんが、xib の InterfaceBuilder で定義されています。これを 以外に設定する必要がありNSView
ますか? - in コードを割り当て、初期化する
FaceViewController
必要がありますか、それとも 2 つの .xib のいずれかにドラッグするだけで十分ですか? - FaceView を配置するために InterfaceBuilder を使用できますか、それともプログラムで行う必要がありますか?
このようなカスタム ビューを作成するのは簡単なことだと思っていましたが、これまでのところまったく逆でした。
cocoa - 最初の Mac アプリ - ビューコントローラーをプッシュ
質問があります。私はいくつかの iPhone アプリケーションを実行していますが、今は小さな Mac アプリケーションを実行したいと考えています。
クリーンなアプリケーションから、MainMenu xib にボタンを追加し、NSViewController を (IB から) 1 つのアクションで MainMenu に追加します。nib ファイルとボタンを使用して、新しい NSViewController (FirstViewController) を作成します。ここで、MainMenu から FirstController をプッシュする関数と、FirstController から MainMenu をプッシュする単純な関数を作成するだけです。
このようなもの
どうすればできますか?
objective-c - さまざまなビュー / nib 間でバインディング用のオブジェクト (具体的には NSDocument) を共有する
Xcode 4 を使用して OSX (Lion) 用のアプリケーションを作成しています。
これとインターネットで少し壁にぶつかることは、これまでのところ特に役に立たないことが証明されています.
MainMenu.xib とドキュメント ウィンドウだけでなく、ドキュメントも定義しています。もちろん、ドキュメント ウィンドウは、ドキュメントが読み込まれたり作成されたりしたときに作成されるものであり、関連するデータにアクセスできます。
このプロジェクトで可能な限り Cocoa Bindings を利用したいので、私の質問は次のとおりです。
別のビューを作成した場合 (リンクされた Nib を持つ NSViewController としましょう); ドキュメントのデータへのアクセスを許可するにはどうすればよいですか?
ドキュメント クラスに #import を追加しようとしましたが、ドキュメント クラスの #import をビュー コントローラーに (作成するために) 追加すると問題が発生します - 不明な型のコンパイル エラーが発生します。
また、暫定的なオブジェクトを渡すルートをたどりました (さらに、ビュー コントローラーを作成した後にゲッター/セッターにアクセスすることさえあります)。確かに、より良い、よりクリーンな方法があるに違いありませんか?
アプリケーションには NSWindowController (デフォルト) が 1 つだけあり、それは XCode の非コア データ ドキュメント ベースのアプリケーション テンプレートのバニラです。
助けてくれてありがとう、クリント
objective-c - NSTabView を複数の NSViewController と XIB に分割する
デスクトップ Cocoa 開発を始めたばかりです (iOS 開発の経験があります)。この質問が基本的なように思われる場合は、ご容赦ください。
そうは言っても、私は多くの計算と処理する機能を備えた大規模なプログラムを扱っています。NSTabView で編成されたほぼ 12 のビューがあります。クラスの 1 つの怪物にすべてをダンプし、私のシステムを屈服させる XIB ファイルを作成するのではなく (Xcode は明らかにそれほど効率的ではありません...誰が知っていましたか? :P)。各タブを XIB を伴う独自の NSViewController にしたいと考えています。そのため、対応する XIB から各タブのビューをロードしたいと思います。
私はこれを UITabBarController の観点から考えていますが、これは機能していないようです (私が見つけることができる限り、NSTabViewController はありません)。これを行う方法がわかりません (または、可能であるとしても、この問題を抱えているのは私だけではありませんか?)。助けていただければ幸いです。ありがとう!
更新:コントローラーのビューをタブのビューに割り当てようとしましたが、それではうまくいかないことにすぐに気付きました。NSTabViewController をゼロから作成する価値はありますか、それとも解決策はありますか?
objective-c - NSScrollViewに多くのビューを追加します
NSViewController
辞書のすべての要素に対して1つのサブビュー(からのビュー)をに追加しNSScrollView
て、一種のテーブルビューを取得しようとしていますが、セルに対してはるかに柔軟性があります。
NSScrollView
最後の要素に到達するために下にスクロールする必要があるように、たとえば100個のサブビューを互いに(プログラムで)配置することは可能ですか?