В настоящее время я вхожу в тупик с приложением, которое я пытаюсь сделать.Настройка главного контроллера представления и отображение определенного текста и изображений в IOS Dev
Я создал контроллер просмотра страницы, который может прокручивать и показывать четыре разных изображения и метки из массива в одном контроллере. Это реализация коды:
_pageTitles = @[@"One", @"Two", @"Three", @"Four"];
_pageImages = @[@"1.png", @"2.png", @"3.png",@"4.png"];
// Create page view controller
self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageViewController"];
self.pageViewController.dataSource = self;
PageContentViewController *startingViewController = [self viewControllerAtIndex:0];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
// Change the size of page view controller
self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 30);
[self addChildViewController:_pageViewController];
[self.view addSubview:_pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
NSUInteger index = ((PageContentViewController*) viewController).pageIndex;
if ((index == 0) || (index == NSNotFound)) {
return nil;
}
index--;
return [self viewControllerAtIndex:index];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSUInteger index = ((PageContentViewController*) viewController).pageIndex;
if (index == NSNotFound) {
return nil;
}
index++;
if (index == [self.pageTitles count]) {
return nil;
}
return [self viewControllerAtIndex:index];
}
- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index
{
if (([self.pageTitles count] == 0) || (index >= [self.pageTitles count])) {
return nil;
}
// Create a new view controller and pass suitable data.
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
pageContentViewController.imageFile = self.pageImages[index];
pageContentViewController.titleText = self.pageTitles[index];
pageContentViewController.pageIndex = index;
return pageContentViewController;
}
- (NSInteger)presentationCountForPageViewController: (UIPageViewController*)pageViewController
{
return [self.pageTitles count];
}
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
{
return 0;
}
Я хотел бы иметь только три страницы появляется каждый раз, когда приложение запускается вместо всех четырех страниц без необходимости полностью удалить его из массива, но Heres загвоздка. Я хотел бы установить условие, в котором сначала отображается средняя страница, а только страница до И после выбора страницы выбора, при этом последняя страница будет скрыта.
например.
Если выбрана страница 3, страницы 2, 3, 4 можно увидеть на странице просмотра , если выбрана страница 2, страницы страницы 1, 2, 3 видны на странице просмотра.
Я пробовал поместить это в простой термин для понимания, но я просто не могу понять, как я это делаю. Я весь день пытался понять это, и мне не повезло!
Может ли кто-нибудь указать мне в правильном направлении?