Существует UIViewController
, который использует UIImageView
, и этот вид изображения инициализируется данными изображения (NSData
).Он не использует XIB, но создает свое представление программно:
- (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
s, init
s, и помещает этот контроллер представления в навигациюконтроллер:
ImageViewController *imageViewController = [ImageViewController alloc] init];
imageViewController.imageData = someData;
[self.navigationController pushViewController:imageViewController animated:YES];
Как я узнаю, что все, что нужно сделать, что в данном случае устанавливает данные, выполняется до вызова loadView
?Или я не знаю, и мне нужно создать собственный инициализатор, или как-то снова вызвать loadView
, когда контроллер представления получает данные?
Я сталкивался со многими подобными ситуациями, когда я не понимал, что будетслучается, например, с UITableViewController
с.