【问题标题】:Load an XIB from a view controller of another XIB (iPhone)从另一个 XIB (iPhone) 的视图控制器加载 XIB
【发布时间】:2011-08-19 02:07:00
【问题描述】:

这是我的第一篇文章,我对这些东西还很陌生,但这是我的问题,希望你能提供帮助:)

所以我制作了一个游戏画面,现在想在开头添加一个主菜单。所以我添加了一个新的视图控制器子类,现在有一个 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。任何帮助将不胜感激。 :)

【问题讨论】:

  • 你能发布你的 initWithNibName 方法吗?
  • 可能,view 是您的UIViewController 中的nil。请检查this answer,它可能会帮助你。

标签: iphone crash load xib


【解决方案1】:

您可能遇到了this 帖子中描述的问题。您需要将控制器设置为 self.window.rootViewController 而不是将其添加为应用程序委托代码中 self.window 的子视图。

【讨论】:

    【解决方案2】:

    您需要发布更多代码,但您很可能需要创建一个导航控制器来将视图控制器推送到上面。导航控制器管理视图的转换,因此有必要执行从一个视图到另一个视图的切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多