2017-02-07 96 views
1

使用單個UIViewController,我創建了兩個UIView(一個在另一個之上)。這全部在storyboard完成。在視圖控制器中的UIView之間滑動

我加了手勢控制功能:

-(void) SwipeLeft:(UISwipeGestureRecognizer *) gest_ 
{ 
if (self.view == UIViewFirst) 
    return; 
else 
[self.view bringSubviewToFront:UIViewFirst]; 
} 

-(void) SwipeRight:(UISwipeGestureRecognizer *) gest_ 
{ 
if (self.view == UIViewSecond) 
    return; 
else 
[self.view bringSubviewToFront:UIViewSecond]; 
} 
} 

在視圖控制器類viewDidLoad,我壓根兒

[self.view bringSubviewToFront:UIViewFirst] 

現在的觀點上來,但他們是空白。我在兩個視圖中添加了標籤以查看是否會出現這種情況沒有標籤顯示。我究竟做錯了什麼?我應該使用類似pageControllerpageViewControllerUIScrollView的東西嗎?我的目標是能夠在UIViews與他們的內容(上半視圖控制器)之間滑動。

+0

使用pageviewcontroler更好 – GeneCode

回答

0

UIPageViewController爲您處理所有過渡,並將其包裝在漂亮流暢的動畫中。您只需最初設置viewControllers屬性,然後實施兩個委託方法,以便控制器知道接下來會出現什麼視圖。

public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? 

public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? 

我的建議是,你繼承UIPageViewController和實現這些方法,讓您的視圖控制器的薄弱實例的陣列上這個課,然後在viewDidLoad設置pageController.viewControllers屬性爲您的陣列,並在委託方法處理計算當前指數並基於此建議下一個控制器。

請注意,您的'視圖'實際上必須包含在不同的視圖控制器中才能使用UIPageViewController

更多的信息可以發現here