独自のnibファイルに保存しているカスタムツールバービューがあります。私は他のペン先でそのツールバーを使いたいです。メインのnibファイルのサブビューとして何らかのビューを表示し、ツールバーのnibをロードすることは可能ですか?インタフェースビルダーでの使用が好ましいインタフェースビルダーのnibファイルからサブビューをロードする
ありがとう
独自のnibファイルに保存しているカスタムツールバービューがあります。私は他のペン先でそのツールバーを使いたいです。メインのnibファイルのサブビューとして何らかのビューを表示し、ツールバーのnibをロードすることは可能ですか?インタフェースビルダーでの使用が好ましいインタフェースビルダーのnibファイルからサブビューをロードする
ありがとう
と独立して、いつでもそれを読み込むことができ、あなたのnibファイル内の単一のビューを持っており、アプリ内のさまざまな場所でそのビューのインスタンスをロードすることができるようにしたいように聞こえます。
まず、nibファイルに、のUIViewControllerにファイルの所有者クラスを変更し、ファイルの所有者のビューのプロパティとしてカスタムビューを設定します。
はここで行うWhatchaのです。
その後、カスタムビューのインスタンスを使用したいビューコントローラでは、次の操作を行います。
UIViewController *vc = [[UIViewController alloc] initWithNibName:@"YourCustomNib" bundle:nil];
UIView *yourCustomView = vc.view;
[vc release];
私はそれが一種のハックようだけど、最後は私はそれが実際の一つだ聞きましたペン先から単一のビューをロードする "正しい"方法。私はペン先にカスタムテーブルビューのセルがある場合、このメソッドを使用します。
は、個別のnibファイルに存在するカスタムツールバーですか? yesの場合、あなたは
NSArray *arr = [[NSBundle mainBundle] loadNibnamed:@"customToolBarNibName" owner:... options:...];
UIView *rootView = [arr objectAtIndex: 0];
ツールバーは別のnibファイルに組み込まれています。ツールバークラスはCustomUIToolbarです。すべてのボタンはアウトレットのCustomUIToolbarクラスに接続されています。私は、ツールバーを使用して任意のビューコントローラの代理プロトコルを持っています。理想的には、これはInterface Builderプラグインであることが望ましいですが、これは明らかにサポートされなくなりました。このツールバーをInterface Builderの別のビューに配置して、デザインを追跡できるようにしたいと思います。 – smokingoyster
フレーム=(0 0; 1024 54);と言っているにもかかわらず、何らかの理由を除いて、これは素晴らしいです、ツールバーが画面をいっぱいにします。ここにオブジェクトのNSLog出力があります。
nibファイル内の唯一のものは、ボタン付きのツールバーです。私は、ビューコントローラのビューを作成しました。ペン先では、これを含める必要があります。私は、私が参照を保持している空のビューを持っていました。上記のようにnib名でView Controllerを割り当て、self.toolbarをカスタムツールバーのビューに設定しました。それは表示されません。これはviewDidLoadにあります。 – smokingoyster
私は[self.view addSubview:yourCustomView];それに。つまり、フレームのインタフェースビルダーには期待できません。幸いにも、これは常に0,0になるツールバーです。だから大きな問題はない。 – smokingoyster
私はあなたが何を意味するのか知っていると思う...あなたは本当に別のペン先からツールバービューを参照することはできません。それをコードに挿入する必要があります。私は通常、同じことをします:正しいフレームでプレースホルダビューを使用し、それをviewControllerで使用してカスタムビューを配置します。 – CharlieMezak