UIViewController
にnibファイルをロードする方法を試しています。nibファイルをUIViewController内にロードする
と呼ばれる個別のnibファイルを作成しました。まず、View Controllerがロードされたときに、initWithNibName
メソッドが呼び出されていないことに気付きました。だから私はこれを手でviewDidLoad
から呼びました。
[self initWithNibName:@"Email" bundle:[NSBundle mainBundle]];
これはうまくいきませんでした。また、私はという表現の結果を使用していないという警告を受けました。
そして、私は、インターネット上で検索し、this記事に出くわしたので、同様に説明するようにloadView
方法を実装し、
- (void)loadView
{
[super loadView];
UINib *nib = [UINib nibWithNibName:@"Email" bundle:nil];
[nib instantiateWithOwner:self options:nil];
}
メソッドが呼び出されますが、まだビューコントローラは空です!
誰でも私がここで見落としていることと、これをどうやって行うことができるのか教えていただけますか?
ありがとうございます。
UPDATE:
まず第一に、すべての応答に感謝します。しかし、voromaxとsvenaの答えは、私が大好きではないセグとロード・ペンを自動的にはずすべきだと示唆している。 Anilの答えが見つかるようになりました。そして今、私はジャンプするための1つの最後のハードルを持っています。
私は複数のnibファイルを持っています。ユーザーの選択に応じて、特定のペン先をロードする必要があります。それでは、私が試したことは、そのような配列内のすべてのニブを入れ
- (void)loadView
{
[super loadView];
NSArray *nibs = [[NSArray alloc] initWithObjects:
[[NSBundle mainBundle] loadNibNamed:@"Facsimile" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"Email" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"Memorandum" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"ProjectMemo" owner:self options:nil], nil];
self.view = [nibs objectAtIndex:0];
}
このself.view = [nibs objectAtIndex:1];
のようにそのインデックスを使用してアクセスし、でした。しかし、それはエラーをスローします*未知の例外 'NSInvalidArgumentException'の理由でアプリケーションを終了します:理由: ' - [__ NSArrayM _setViewDelegate:]:インスタンス0xd56fd20に送信された認識できないセレクタ' *
このエラーはなぜ起こりますか?それが不可能な場合は、私は提案に開放されています。
もう一度おねがいします。そして、ちょっとこれを少しドラッグして申し訳ありません。
に応じて、単一のペン先を読み込みます – voromax