2011-10-21 130 views
20

我想實現一個按鈕來顯示另一個視圖。我已經在故事板中定義了目標ViewController &創建了一個segue(類型爲push)並給它一個標識符。如何執行segue

在我的根視圖控制器

一些方法...

 UIButton *btn = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
     [btn addTarget:self action:@selector(showDetailView:) forControlEvents:UIControlEventTouchUpInside]; 

- (IBAction)showDetailView:(id)sender { 
    [self performSegueWithIdentifier:@"ShowDetail" sender:sender]; 
} 

但它不會做任何事情。我聽說Segue是一個對象。我是否需要參考它/在我的根視圖控制器類中進行綜合?任何提示將不勝感激。謝謝。

回答

30

編輯:
確保您的根視圖控制器嵌入在導航控制器中。如果不是,請在故事板設計器中選擇您的視圖控制器,然後在菜單中選擇編輯器 - >嵌入 - >導航控制器。

原文:
仔細檢查標識符(故事板代碼),並嘗試設置senderself。如果這不起作用,你可以在代碼中自己創建一個Segue對象。

+0

好的我試着將'sender'設置爲'self',但沒有奏效。我如何創建Segue對象? (或者參考我在Storyboard中創建的Segue?) – chizzle

+1

我需要添加導航欄/控制器還是需要遵守一些協議才能使用Segue? – chizzle

+6

你是否在導航控制器中嵌入了你的根視圖控制器?..這是「推」的必要條件 - 工作.. –