0

OS X のバージョンごとに異なる nib ファイルを作成することはできますか? たとえば、10.6 には自動レイアウト機能がありませんが、10.7 および 10.8 では優れた機能です。したがって、可能であれば、10.6 用に 1 つのニブを作成し、10.7 と 10.8 用に別のニブを作成できます。

4

2 に答える 2

1

もちろん。さまざまな NIB ファイルを作成するだけです。たとえば、これらのファイルの名前の末尾にバージョンを追加すると、実行時に、現在のシステムで実行されている OS X のバージョンが特定され、OS X のバージョンに適したライブラリがプログラムで読み込まれます。

ただし、アプリケーションの「メイン」NIB に対してそれを行うのはかなり困難です (可能です。私は以前にそれを行ったことがありますが、お勧めしません)。メインの NIB 10.6 互換性を確保し、メイン メニューとアプリケーション デリゲート (プログラムで作成するのではなく、NIB ファイルで作成する場合) のみを配置します。すべてのウィンドウ、ビュー、およびその他の UI 要素を個別の NIB ファイルに配置してから、アプリケーション デリゲート内で、次のようなコールバックでプログラムによって NIB ファイルをロードします。applicationDidFinishLaunching:

Apple の NIB File Documentationを見て、「Loading Nib Files Programmatically」を検索してください。そのために必要なメソッドへの役立つリンクと、単純な一般的なケースのサンプル コードがいくつかあります。

于 2012-10-18T15:36:24.500 に答える
0

はい、ロード時に別の NIB ファイル名を指定するだけです。これを行うことができない場所の 1 つはアプリケーション NIB ですが、メニュー バーの横に UI 要素がないようにする必要があります。

これには、たとえば NIB ファイル名で作業するために、makeWindowControllersまたはwindowNibNameonのオーバーライドが含まれる場合があります。NSDocument特定のクラスでこれを解決する方法の詳細については、ドキュメントを参照してください。間違いなく実行可能です。

于 2012-10-18T15:24:58.887 に答える