1

screenshotsкак прокручивать между контроллерами зрения с помощью управления Страницы

Я хочу, чтобы просмотреть или перейти к другому виду. Как это сделать с помощью управления страницей?

+2

Вы проверили, что http://stackoverflow.com/questions/29074454/how-to-create-a-scroll-view-with-a-page-control-using-swift?rq = 1 – Amanpreet

+0

Я использую цель c. спасибо – aditya

+0

Я хочу полностью перейти к другому контроллеру представления, а не просто изменить цвет представления. – aditya

ответ

0

система обеспечивает UIPageViewController, вы можете использовать его и UIPageControl, чтобы получить то, что вы думаете

+0

спасибо asdemon. но мне нужен код, как использовать 2 или несколько разных контроллеров. многие веб-сайты и видеоролики youtube показали, как изменить цвет в одном окне с различными параметрами управления страницей. Но в моем случае я хочу полностью перейти к новому контроллеру представления – aditya

+0

UIPageViewController играет роль контейнера, ваши различные контроллеры представлений могут вставлять в него и использовать его для навигации между ними. –

+0

как поставить контроллеры представления в контроллер просмотра страниц ... или как добавить мои кнопки и другие элементы в контроллере просмотра страниц .... должен ли я добавить 3-страничные контроллеры просмотра для 3 разных видов? – aditya

0

Вы можете использовать свойство PageControl в currentPage

@property(nonatomic) NSInteger currentPage;   // default is 0. value pinned to 0..numberOfPages-1 

Он может быть использован в качестве

[pageControl setCurrentPage:<logic to get your VC>]; 
+0

благодаря iYoung. но мне нужно полное подключение к коду и раскадровке, чтобы понять его. – aditya

+0

приятель просто предложение. Этот сайт просто помогает справиться с проблемами, с которыми вы сталкиваетесь в своей реализации, и не сообщать полный поток с полной логикой и раскадрой. Вам нужно научиться помогать себе в некоторых предложениях. – iYoung

+0

спасибо @iyoung, но проблема в том, что есть несколько веб-сайтов/видеороликов, в которых показано, как использовать диспетчеры просмотра страниц, но 80% из них просто меняют часть просмотра прокрутки одного контроллера представления, другие 20% используют быстрый язык , В моем случае есть 3 разных контроллера представлений, и мой язык объективен c. Поэтому мне нужны соединения кода и раскадровки/ссылки на просмотр страницы и 3 разных контроллера. – aditya

0

страницы - это массив, в котором вы будете хранить идентификаторы раскадровки и NSInteger currentPageIndex, установите currentPa geIndex = 0

- (void)viewDidLoad 
{ 
self.pages = [[NSMutableArray alloc]init]; 

// instantiate the view controlles from the storyboard 
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController* ViewController1 = [storyboard instantiateViewControllerWithIdentifier:@"VC1"]; 

UIViewController* ViewController2 = [storyboard instantiateViewControllerWithIdentifier:@"VC2"]; 

// load the view controllers in our pages array 
[self.pages addObjectsFromArray:@[ViewController1, ViewController2]]; 
// your general suff 
} 


- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 
NSInteger index = [_pages indexOfObject:viewController]; 

if ((index == NSNotFound) || (index == 0)) { 
    return nil; 
} 

index--; 
return [_pages objectAtIndex:index]; 
} 


- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 
NSInteger index = [_pages indexOfObject:viewController]; 

if (index == NSNotFound) { 
    return nil; 
} 
index++; 

if (index == [_pages count]) { 
    return nil; 
} 
return [_pages objectAtIndex:index]; 
} 


-(void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed { 
if (completed) { 
    self.currentPageIndex = [_pages indexOfObject:[pageViewController.viewControllers lastObject]]; 
} 
} 
+0

Должен ли я добавить UIPageViewControllerDelegate? и как это сделать на раскадровке ... я добавил один просмотр страницы ...но как связать этот просмотр страницы с тремя представлениями на раскадровке. – aditya

+0

добавьте вышеуказанный код в класс, который вы назначили своему PageViewController, и да, вам нужно добавить делегат для него. –

Смежные вопросы