UIImageView
を使用するUIViewController
があり、その画像ビューは画像データ(NSData
)で初期化されます。これはXIBを使用するが、プログラムのビューを作成しない。loadViewが呼び出される前にUIViewControllerが完全に設定されていることを確認する
- (void)loadView
{
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:self.imageData]];
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
scrollView.contentSize = imageView.bounds.size;
scrollView.delegate = self;
[scrollView addSubview:scrollView];
}
データがどのalloc
の別のコントローラ、init
Sによって設定する必要があり、ナビゲーションコントローラにこのビューコントローラをプッシュする:
ImageViewController *imageViewController = [ImageViewController alloc] init];
imageViewController.imageData = someData;
[self.navigationController pushViewController:imageViewController animated:YES];
loadView
が呼び出される前に、この場合はデータを設定する必要があることをすべて知っていますか?または、私は知らない、カスタムイニシャライザを作成するか、または何らかの理由でloadView
ビューコントローラがデータを受け取ったときに呼び出す必要がありますか?
私は、UITableViewController
などのような何が起こるのか混乱した多くの同様の状況に直面しています。
ありがとうございました、それは多くの混乱を解消しました。 –