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

시스템은 당신이

+0

감사합니다 asdemon. 하지만 2 또는 여러 다른보기 컨트롤러를 사용하는 방법을 코드가 필요합니다. 많은 웹 사이트와 youtube 비디오는 다른 페이지 컨트롤 옵션으로 같은 창에서 색상을 변경하는 방법을 보여주었습니다. 하지만 내 경우에는 완전히 새로운보기 컨트롤러로 이동하려면 – aditya

+0

UIPageViewController 컨테이너의 역할을, 당신의 다른보기 컨트롤러가 그것에 넣을 수 있고 그들 사이의 탐색에 사용할 수 있습니다. –

+0

페이지 뷰 컨트롤러에 뷰 컨트롤러를 배치하는 방법 ... 또는 페이지 뷰 컨트롤러에 내 버튼과 다른 요소를 추가하는 방법 ... 3 개의 뷰에 대해 3 페이지 뷰 컨트롤러를 추가해야합니까? – aditya

0

당신은 currentPage

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

그것은

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

감사합니다. 하지만 난 그것을 이해하기 위해 전체 코드와 스토리 보드 연결이 필요합니다 – aditya

+0

친구 그냥 제안. 이 사이트는 구현에 직면 한 문제를 해결하는 데 도움이되며 완전한 논리 및 스토리 보드로 전체 흐름을 알려주지 않습니다. 너는 몇몇 제안을 너 자신 돕는 것을 배울 필요가있다. – iYoung

+0

@ young 님, 감사합니다. 그러나 문제는 페이지 뷰 컨트롤러를 사용하는 방법을 보여주는 여러 웹 사이트/비디오가 있지만 그 중 80 %만이 단일보기 컨트롤러의 스크롤보기 부분을 변경하고 있고 다른 20 %는 신속한 언어를 사용하고 있습니다. . 내 경우에는 세 가지 다른보기 컨트롤러가 있고 내 언어는 객관적입니다. 그래서 코드와 스토리 보드 연결/페이지 뷰와 3 가지 뷰 컨트롤러의 링크가 필요합니다. – aditya

0
로 사용할 수 있습니다 pageControl의 재산 사용할 수 있습니다 무슨 생각을 얻기 위해 그와 UIPageControl을 사용할 수 UIPageViewController 제공

pages는 스토리 보드 ID와 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를 추가해야합니까? 및 스토리 보드에서이를 수행하는 방법 ... 하나의 pageviewcontroller를 추가했습니다 ...이 페이지 뷰를 스토리 보드의 세 가지 뷰와 연결하는 방법. – aditya

+0

PageViewController에 할당 한 클래스에 위 코드를 추가합니다. 예를 들어 위임을 추가해야합니다. –