2011-08-19 257 views
1

這是我的第一篇文章,我很新的這東西,但這裏是我的問題,我希望你能幫助:)加載從另一個XIB(iPhone)的視圖控制器的XIB

所以我做了一個遊戲屏幕,現在想在開始時添加一個主菜單。所以我添加了一個新的視圖控制器子類,現在有一個IBAction來自一個將加載遊戲屏幕的按鈕。

#import <UIKit/UIKit.h> 


@interface MainMenuViewController : UIViewController{ 
    IBOutlet UIButton *classicMode; 
    IBOutlet UIButton *timedMode; 
}  

@property (nonatomic, retain) IBOutlet UIButton *classicMode; 
@property (nonatomic, retain) IBOutlet UIButton *timedMode; 



- (IBAction) classicModeButton:(id) sender; 
- (IBAction) timedModeButton:(id) sender; 
@end 

所以現在我走進我的.m,並設置IBAction爲

- (IBAction) classicModeButton:(id)sender{ 


} 

但我已經使用initWithNibName並指定我的其他視圖控制器XIB嘗試過了,它不出差錯運行,但是當我點擊我在IB連接的按鈕,它總是崩潰,並說它收到SIGABRT信號。任何幫助將不勝感激。 :)

+0

你可以發佈你的initWithNibName方法嗎? –

+0

可能,'view'在你的'UIViewController'中是'nil'。請檢查** [這個答案](http://stackoverflow.com/questions/11906618/loading-xib-crashes-app/11906907#11906907)**,它可能會幫助你。 – holex

回答

0

你需要發佈更多的代碼,但你很可能需要創建一個導航控制器來推視圖控制器。導航控制器管理視圖的轉換,因此需要執行從一個視圖到另一個視圖的切換。

1

您可能遇到this後文中描述的問題。您需要將控制器設置爲self.window.rootViewController,而不是將其添加爲應用程序委託代碼中self.window的子視圖。

相關問題