2013-02-20 112 views
0

我目前有一個應用程序,其中有50個左右滾動視圖中包含的自定義按鈕。這些都與導航控制器連接到各個視圖控制器,以顯示帶有標題的按鈕的全屏幕圖片。我希望能夠在視圖控制器之間滑動,但是當我這樣做時,後退按鈕將帶我通過所有的滑動,而不是回到原始菜單。有沒有更乾淨的方式做這一切,因爲許多意見也在殺我的Mac?滑動手勢和導航控制器

感謝

+1

你是說你的應用有50多個視圖控制器嗎? – JMarsh 2013-02-20 12:40:36

+0

您應該使用帶全屏大小單元的UICollectionView製作一個詳細視圖控制器。這將允許您在圖像之間滑動,並且您可以在viewDidLoad中動態設置內容偏移量,以便在前一個視圖中選擇的圖像可見。 – 2013-02-20 13:01:12

+0

是的,它有50多個視圖控制器,我是一個新手,所以不知道更好的方法。我爲我的搜索使用了一個表格視圖的詳細視圖,但想要與蘋果相冊有非常相似的設置。不知道該怎麼做?我正在通過故事板工作,因爲我的編碼尚未達到標準。我也有一個理解,收集意見只在iOS 6.1及以上版本? – David 2013-02-20 13:29:19

回答

1

首先,我覺得會更好,而不是使用按鈕UICollection,但無論如何...

這是你想要閱讀的答案:

您可以設置自己的「後退按鈕」,並執行按下回到第一個UIViewController的任務

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Atrás", nil) style:UIBarButtonItemStylePlain target:self action:@selector(backPressed:)]; 
    self.navigationItem.leftBarButtonItem = btn; 
} 


-(void)backPressed: (id)sender 
{ 
    // Go back to your first view 
} 

這是你應該遵循的答案:

通過不同UIViews將呈現在同樣的事情刷卡(圖像+文字)是不是一個好主意:第一,因爲你是在浪費大量的內存,其次,因爲如果必須做出任何改變,這將是單調乏味的...

因此,你應該做的只是使用ONE UIView,當你檢測到刷卡手勢,你只需改變視圖中呈現的內容,這方式您的後退按鈕將始終正確返回。

+0

第二個選項聽起來很完美,但我會如何實現這一目標?抱歉完成新手! – David 2013-02-20 13:30:57

+0

將所有按鈕都歸爲單個UIView,實現自定義的UIViewController並在其中實現手勢委託...然後,當檢測到滑動手勢時,更改您定義的IBOutlets ... – apascual 2013-02-20 13:41:41