【问题标题】:Two nib files connect with .h and .m?两个 nib 文件用 .h 和 .m 连接?
【发布时间】:2013-05-29 07:39:21
【问题描述】:

我在 iphone 中开发了一个应用程序,现在我还需要在 ipad 上创建相同的应用程序,我有以下文件

LoginViewController.h
LoginViewController.m
LoginViewController.xib

now i added new file for ipad:

LoginViewController~ipad.xib

现在我收到一个错误:

由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“LoginViewController”笔尖,但未设置视图出口。'

【问题讨论】:

标签: iphone xcode ipad


【解决方案1】:

还有一些步骤要走:-

  • LoginViewController~ipad.xib 那样为 Ipad 创建新的 Xib 并打开它。

  • 单击文件所有者--> 如下所示:-

现在您的 ipad xib 也与您的 Loginviewcontroller customeClass 一起使用

  • 现在您只需要检查一下 IsIphone 或 Ipad,例如:-

#import "Homeviewcontroller.h"

#import "LoginViewController.h"

#define isIpad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //在上面定义实现方法

@implementation Homeviewcontroller

现在,如果你想在装箱后加载 newNib,就像上面的图片一样,你可以像下面这样加载:-

if(isIpad)
{
   LoginViewController *ObjLoginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController~ipad" bundle:nil];
}
else
{
   LoginViewController *ObjLoginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
}

编辑

将您的 FileOwner 连接到主视图,例如:-

【讨论】:

  • Nitin 你给我条件的代码,它会在哪里定义?在.m?
  • Nitin 我把你的代码放在哪个文件中,我没有使用“Homeviewcontroller.h”,基本上我是 xcode 的新手。
  • 你把 loginviewcontroller 放在哪里了?
  • 我的意思是在 .h 或 .m 文件或其他地方?
  • 你想在哪里推送你的 loginviewcontroller 你把代码放在按钮点击事件中你想登录viewcontroller 然后在 .m 文件按钮点击事件中你应该把我在回答中提到的代码放
猜你喜欢
  • 1970-01-01
  • 2012-04-30
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
相关资源
最近更新 更多