2012-03-28 165 views
3

我是新來的目標C,我一直在嘗試使用從一個視圖控制器到另一個按鈕的Segue。我希望爲segue使用推式,第一個視圖控制器嵌入在導航視圖控制器中。下面是第一個視圖控制器的.m和.h文件。如何通過按鈕從一個視圖控制器推到另一個視圖控制器?

firstViewController.m

@implementation 

**(am I supposed to have an IBAction here for the pressed button?)** 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    if ([segue.identifier isEqualToString:@"firstSegue"]) { 

    **(I don't know what to put here)**  

    } 
} 
@end 

firstViewController.h

@interface firstViewController : UIViewController 



@end 

回答

5

如果您已經從按鈕有線了按鈕本身的賽格瑞(CTRL +拖動到第二視圖控制器在界面生成器中),那麼你將不需要IBAction。只要您的視圖控制器與導航控制器正確關聯,只需以這種方式連接Segue就足以完成從第一個視圖控制器到第二個視圖控制器的推動動畫 - 您不必編寫任何代碼所有。

prepareForSegue方法的目的是向目標視圖控制器傳遞數據,設置委託等等。如果沒有數據傳遞給第二個視圖控制器,或者沒有任何要配置的控制器,那麼你不會不需要執行prepareForSegue。您可以在線搜索Storyboard Segue委託等術語,以找到一些關於使用prepareForSegue和其他故事板功能來管理視圖控制器之間轉換的一些最佳實踐的tutrorials like this

+0

我試着做你所建議的。所以,我做了一個名爲firstViewController的視圖控制器。在將新視圖控制器(第二視圖控制器)拖動到故事板後,我創建了一個新文件,一個名爲secondViewController的目標C類,類型爲UIViewController。然後我將這個視圖控制器的類名稱標識爲secondViewController。設置完這些視圖控制器之後,我將firstViewController中的按鈕連接到secondViewController。最後,我點擊了第一個控制器並嵌入了導航視圖控制器。 編譯器成功運行的是, – Hans 2012-03-28 03:26:47

+0

我得到這一行強調這是從main.m文件 「返回UIApplicationMain(ARGC,ARGV,零,NSStringFromClass([DiscountWalletAppDelegate類]));」 隨着該突出顯示是一個標記,它說:「線程1:信號SIGABRT」。這是什麼意思? – Hans 2012-03-28 03:27:29

+0

在我點擊模擬器上的按鈕後顯示出來。 – Hans 2012-03-28 03:31:37

相關問題