一段时间应用程序将iPhone XIB带到负载控制器



我正在使用Apple的新swift语言创建一个应用程序。

应用程序是通用的,因此我用"~"运算符创建了 XIB。比如"MyView~iphone.xib"和MyView~ipad.xib"。但有时,即使我的应用程序在iPad中运行,它也会加载iPhone笔尖。

我已经尝试了很多选择,但仍然面临同样的问题。

人们可能认为这永远不会发生,但我正面临这个问题。

最好看看代码,但我想你的解决方案是这样的

BOOL isPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
UIViewController *myViewController = [[UIViewController alloc] initWithNibName:isPad?@"MyView~ipad.xib":@"MyView~iphone.xib" bundle:nil];
嘿,

尝试在界面生成器中使用大小类,您将不需要iPhone和iPad的不同xib。您可以利用大小类,并在情节提要中为每个大小类设置约束。我建议您观看WWDC 2014:会话216。

我遇到了像这个目标 C 这样的问题,但这可以追溯到 iOS 6 中,我不知道这是否可以解决您的问题,但是

尝试将文件重命名为

MyView~iphone.xib for iPhone
MyView.xib for iPad

而不是

MyView~iphone.xib
MyView~ipad.xib

我建议您使用Size类,因为它是面向未来的。

最新更新