Я хочу загрузить UIView как первую страницу и некоторые UIImageViews после этого. UIImageViews загружается отлично, но первый UIView показывает пустой. Я разработал UIView в раскадровке. У него есть некоторые UIButtons и несколько других элементов управления. Что я делаю не так?UIPageViewController - просмотр не загружается
Я создал проект из шаблона pageController по умолчанию.
ModelController.m
- (id)init
{
self = [super init];
if (self) {
// Create the data model.
/*
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
_pageData = [[dateFormatter monthSymbols] copy];
*/
NSMutableArray *imageViews = [[NSMutableArray alloc] init];
FirstViewController *firstViewController = [[FirstViewController alloc] init];
firstViewController.view.frame = CGRectMake([UIScreen mainScreen].bounds.origin.x,[UIScreen mainScreen].bounds.origin.y,[[UIScreen mainScreen] bounds].size.height, [[UIScreen mainScreen] bounds].size.width);
[imageViews addObject:firstViewController];
for (int i=1; i<=19; i++) {
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"picture%i.jpg", i]]];
imageView.frame = CGRectMake([UIScreen mainScreen].bounds.origin.x,[UIScreen mainScreen].bounds.origin.y,[[UIScreen mainScreen] bounds].size.height, [[UIScreen mainScreen] bounds].size.width);
[imageViews addObject:imageView];
}
_pageData = imageViews;
}
return self;
}
- (DataViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard
{
// Return the data view controller for the given index.
if (([self.pageData count] == 0) || (index >= [self.pageData count])) {
return nil;
}
// Create a new view controller and pass suitable data.
DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
dataViewController.dataObject = [self.pageData objectAtIndex:index];
if(index == 0)
{
//[dataViewController addChildViewController:[self.pageData objectAtIndex:index]];
FirstViewController *firstViewController = [self.pageData objectAtIndex:index];
[dataViewController.view addSubview:firstViewController.view];
}
else
{
UIImageView *imageView = [self.pageData objectAtIndex:index];
[dataViewController.view addSubview:imageView];
}
return dataViewController;
}
Это была глупая ошибка, которую я сделал вместо того, чтобы добавить представление, которое я добавлял в контроллер, я исправил его. Что касается [UIScreen mainScreen] .applicationFrame, мое приложение основано на ландшафтной ориентации, поэтому, когда я использую applicationFrame, он каким-то образом загружает представления в портретном режиме. – gangt
Я пишу это снова, потому что это не позволило мне отредактировать его через 5 минут. Это была глупая ошибка, которую я сделал вместо того, чтобы добавить представление, которое я добавлял в контроллер, я исправил его. Что касается [UIScreen mainScreen] .applicationFrame, мое приложение основано на ландшафтной ориентации, но когда я использую applicationFrame, оно все равно загружает представления в портретном режиме. Я создал этот проект, используя шаблон pageViewController, и этот код находится на ModelController.m , Все еще я не мог понять, почему он не показывает элементы управления, которые я добавил в представление. – gangt