2013-04-02 44 views
0

因此,我試圖實現向右滑動以返回到先前的視圖控制器功能。設置上一個視圖控制器作爲當前視圖控制器的屬性

但是,當我在我的當前視圖控制器下面的代碼,我得到一個黑色的屏幕

- (void)initPreviousViewController:(GGMainViewController *)previous 
{ 
    self.previousViewController = previous; 
    self.previousViewController.view.frame = self.currentView.bounds; //self.currentView is declared elsewhere (in the init of the current view controller) 
    [self addChildViewController:self.previousViewController]; 
    [self.currentView addSubview:self.previousViewController.view]; 
    [self.previousViewController didMoveToParentViewController:self]; 
{ 

^我把以前的視圖控制器內這種方法的初始化當前視圖控制器後,並推前當前視圖控制器

如果我改變self.previousViewController = previous;self.previousViewController = [GGMainViewController alloc] init];它的工作原理。但是,我不想重新初始化以前的控制器。

那麼如何將前一個視圖控制器設置爲當前視圖控制器的一個屬性。

哦,我也是iOS的第一個定時器,所以如果這不是推薦的東西,請告訴我。後面我的思想

理由:

通常情況下,用戶將只需點擊一個按鈕,UINavigationController的會做的伎倆,但因爲我使用的是刷卡的功能,我覺得用戶需要看到前面視圖控制器在當前視圖控制器後面滑動屏幕。


按照要求 您使用self.navigationController推當前視圖控制器如何調用currentViewController從previousViewController

- (void)displayCurrentViewController:(id)sender 
{ 
    GGNextViewController *next = [[GGNextViewController alloc] init]; 
    [next initializeExploreViewController:self]; // If I comment this out, everything is ok (screen is not black,etc. apart from being able to swipe backwards 
    [self.navigationController pushViewController:next animated:YES]; 
} 
+0

將代碼與您如何從前一個視圖控制器呈現當前的視圖控制器相關... –

+0

好吧給我一分鐘,讓它在這裏:) @BhanuPrakash – GangstaGraham

+0

@BhanuPrakash它的了! – GangstaGraham

回答

1

,所以你可以調用一個方法當過右輕掃手勢解僱。

試試這個代碼在當前視圖控制器(GGNextViewController.m)...

1. rightSwipeGestureAction()選擇添加到您擁有手勢識別。

2.

-(void)rightSwipeGestureAction 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
0

事實證明,以下系造成問題的原因。我只是決定評論他們,然後它的工作,沒有黑屏。

[self addChildViewController:self.previousViewController]; 
[self.previousViewController didMoveToParentViewController:self]; 

我不能只與導航器彈出它,因爲我想在一定程度上創造的拖曳效應,用戶刷卡(因爲他們看到下面的一個視圖控制器),直到中途從畫面,它轉到前一個視圖控制器。

相關問題