iPad Xib 不显示
Posted
技术标签:
【中文标题】iPad Xib 不显示【英文标题】:iPad Xib not showing 【发布时间】:2012-10-02 10:31:35 【问题描述】:我的 iPhone 应用程序的根控制器是内置代码,我现在正在使应用程序通用并想要链接 iPad Xib。问题是 iPhone 屏幕仍然加载而不是 ipad xib
我的家庭控制器被命名为IChomeContoller
.h 和 m
到目前为止:
添加了 iPad xibIChomeContoller~ipad.xib
在 IB 中将其设置为我的班级 IChomeContoller
将new referencing outlet
连接到IB中的文件所有者
我也在 appdeleage 表单 this 示例中的代码中尝试过,但仍然没有发生
我其他的屏幕都是用xibs搭建的,发现ipad xib没问题
【问题讨论】:
看看我在这篇文章中的回答,我认为是同样的原因:***.com/questions/11384968/… 【参考方案1】:在 Xcode 中单击您的项目并选择您的目标(应该是底部的)。在那里,如果它是一个通用应用程序,您应该会看到一个用于 iPhone 和 iPad 的主屏幕 Xib 的下拉框。为 iPad 选择一个不同的,应该可以解决问题。
编辑
好的,试试这个:
在您的主视图控制器中,由您的 appdelegate 在 init 方法中初始化的控制器:
- (id)init
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
self = [super initWithNibName:@"<Your iPad xib file here>" bundle:nil];
else
self = [super initWithNibName:@"<Your iPhone xib file here>" bundle:nil];
if (self)
// Everything else you got in your init function
return self;
【讨论】:
听起来很有希望,但我得到一个错误`这个类与键视图的键值编码不兼容。'` 取消 xib 中的“view”属性的链接。 谢谢,但仍会加载 iphone 屏幕,如果相关,我没有 iphone 笔尖,我只是将其注释掉。【参考方案2】:排序
- (id)init
[[NSBundle mainBundle] loadNibNamed:@"ICHomeController" owner:self options:nil];
在根视图控制器中添加
【讨论】:
【参考方案3】:您确定 IChomeContoller~ipad.xib
已添加到您的目标吗?在 Xcode 中,在 Project Navigator(左侧)中选择文件,确认它已在 File Inspector(右侧)的 Target Membership 部分中选中。
【讨论】:
以上是关于iPad Xib 不显示的主要内容,如果未能解决你的问题,请参考以下文章
自动调整 iPhone xib 应用程序到 ipad 的大小
我的 XIB 中的两个 UITableViewCells for iPad/iPhone