iphone - 两个 nib 文件以 .h 和 .m 连接?

标签 iphone xcode ipad

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

LoginViewController.h
LoginViewController.m
LoginViewController.xib

now i added new file for ipad:

LoginViewController~ipad.xib

现在我收到错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "LoginViewController" nib but the view outlet was not set.'

最佳答案

还有一些步骤要做:-

  • 像您所说的那样为 Ipad 创建 New Xib LoginViewController~ipad.xib 并打开它。

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

enter image description here

现在您的 ipad xib 也包含在您的 Loginviewcontroller 自定义类中

  • 现在您只需检查它是 Iphone 还是 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 连接到主视图,例如:-

enter image description here

关于iphone - 两个 nib 文件以 .h 和 .m 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16808100/

相关文章:

ios - Apple 使用什么来检测内存泄漏?

iphone - Imageview 必须专注于点击的图像

ios - 核心数据中的部分为零值

ios - IBAction 未被调用,但 UI 正在更新?

ios 插件 com.apple.share.Facebook.post 不显示提供的文本

objective-c - 是否可以有 "implementation-only"类(class)成员?

iphone - 获取 NSArray 的 EXC_BAD_ACCESS

ios - 如何使用 ios 中的一些输入数据创建 QR 码

iphone - 核心数据: 3 table join?

iphone - 适用于 iPad 和 iPhone 的应用程序;删除 iPad 组件预发布