Вы не предоставили достаточно контекста, чтобы быть уверенным, но похоже, что то, что вам нужно загрузить с раскадровки, изначально является экземпляром FirstViewController
, а не экземпляром UIView
, поэтому вам нужно будет сделать что-то вроде этого вместо того, что вы сейчас делаете:
FirstViewController *firstViewController = [self.storyboard instantiateInitialViewController];
// Note: If you need to adjust the frame of the controller's view, use the screen's
// application frame rather than its bounds.
controller.view.frame = [UIScreen mainScreen].applicationFrame;
Кроме того, это кажется плохой идеей, поскольку позже вы заполняете остаток массива экземплярами UIImageView
:
[imageViews addObject:firstViewController];
Почему бы не добавить представление контроллера в массив? Тогда вы можете устранить условную логику в вашем методе viewControllerAtIndex:storyboard:
. Кроме того, неясно, почему вы передаете раскадровку в качестве аргумента, а не используете встроенное свойство, или, к тому же, к какому классу принадлежит код, который вы опубликовали, и как оно связано с остальным приложением. , Может быть, вы могли бы предоставить немного больше информации об этом.