2011-08-19 259 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的子视图。

相关问题