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%正在使用swift語言。在我的情況下,有3個不同的視圖控制器,我的語言是客觀的c。所以我需要代碼和故事板連接/頁面視圖和3個不同的視圖控制器的鏈接。 – aditya

0

頁面是一個數組,您將存儲故事板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的類中添加上面的代碼,是的你需要爲它添加委託。 –