查找 iPad 版 xib

发布于 2024-09-17 23:03:41 字数 321 浏览 10 评论 0原文

我通过以下方式加载 xib 文件: initWithNibName 以编程方式加载。如果我设置类似: [[LoginController alloc] initWithNibName:@"LoginController" bundle:nil];

如果在 iPhone 上执行,它不应该加载 LoginController.xib并在 iPad 上搜索 LoginController-iPad.xib?我的代码中没有发生这种情况,我是否必须手动选择正确的代码,还是出了什么问题?

提前致谢!

I load my xib files through: initWithNibName programatically. If I set something like: [[LoginController alloc] initWithNibName:@"LoginController" bundle:nil];

Shouldn't it load LoginController.xib if it is executed on iPhone and search for LoginController-iPad.xib on the iPad? This is not happening at my code, do I have to select the right one manually or is something going wrong?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-09-24 23:03:41

不,文档中没有任何内容表明“-iPad”是 initWithNibName: 的有效类似资源的修饰符,或者 initWithNibName:完全支持修饰符。

顺便说一句,.xib 文件由 Xcode 编译为 .nib 文件,因此应用程序永远不会看到 .xib

No, there is nothing in the documentation that suggests "-iPad" is a valid resource-like modifier for initWithNibName:, or that initWithNibName: supports modifiers at all.

BTW, .xib files are compiled to .nib files by Xcode, so the application never sees a .xib.

等风来 2024-09-24 23:03:41

这是一个老问题,所以当 @shaggy frog 回答这个问题时,这个命名约定可能不存在,但是 iOS如果命名正确的话,确实应该加载 iPad 特定的 xib。在这种情况下,您的命名稍有偏差,iPad 特定 xib 的正确命名方案是

NameOfYourViewController~ipad.xib

请注意,它是波形符 (~),而不是破折号 (-) 和 ipad是小写的。

This is an old question, so perhaps this naming convention did not exist when @shaggy frog answered this question, but iOS should indeed load the iPad specific xib if it is named correctly. In this case your naming is slightly off, the correct naming scheme for an iPad specific xib is

NameOfYourViewController~ipad.xib

Note that it's a tilde (~) instead of a dash (-) and ipad is in lowercase.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文