0

このサイトにあるアプローチを使用して、Nibファイルからビューを正常にロードしています

[[NSBundle mainBundle] loadNibNamed:@"YourNibName" owner:self options:nil];

問題は、ファイル所有者を設定する必要があるため、この nib ファイルがこのビュー コントローラーに「添付」されることです。このビューは のサブクラスでUITableViewCellあり、いくつかの異なる VC からこの nib ファイルをロードしたかったのです。ご協力いただきありがとうございます。

4

3 に答える 3

2

ペン先は単なるテンプレートであり、何度でもロードできます。

iOS4を使用している場合は、ペン先を繰り返しロードする際のパフォーマンスが向上するUINibを確認することをお勧めします。

于 2010-08-19T16:53:58.957 に答える
0

2 つのオプションを提示します。

  • @property (nonatomic, retain) IBOutlet id mainObject;と呼ばれる単一のメソッドを持つクラス NibLoader を作成しますloadNibNamed:bundle:)。次に、実行しますMyView * v = [[NibLoader loadNibNamed:"MyView" bundle:nil] mainObject];。(GCC 4.0 のプロパティ アクセスのバグは、[...].mainObject が [...] を 2 回呼び出すことを意味していました。4.2 で修正されています。)
  • @protocol MyNibOwnerwhich has を作成し@property (nonatomic, retain) IBOutlet MyView * myView;、ファイルの所有者クラスをid<MyNibLoader>orに変更しますNSObject<MyNibLoader>
于 2010-08-19T19:11:12.000 に答える
-1

皮肉なことに、ペン先にはおそらく単一のコントローラーが必要です。私がおそらく行うことは、あなたのこのペン先のものを制御する新しいサブクラスを作成し、ペン先のものを必要とするときはいつでも、ペン先を直接ロードする代わりに、UIViewControllerこれらのビューコントローラーの1つを作成して、それを要求することです.

于 2010-08-19T16:59:19.940 に答える