iOs device-specific resources not working - ~iPad loading default XIB - universal app

空扰寡人 提交于 2019-12-31 17:12:41

问题


I'm making a universal app based on the Utility App template. I've selected a universal app and the MainView.xib and MainView~iPad.xib work properly on both device types.

On the iPad2, when I switch to the FlipsideView, it loads FlipsideView.xib even though there is a perfectly good FlipsideView~iPad.xib file in the project. The default xib is normal (iPhone) sized and displaying in the lower left hand corner of the iPad.

I did have to create the FlipsideView~iPad xib manually. I believe I have the xib properly wired in IB as it shows identical to the FlipsideView.xib connections.

Over the last couple weeks, I've read quite a few posts with similar problems and this Stack Overflow thread answers most clearly and contains links to Apple documentation. So I know it works for others and is documented.

The code for this section is identical to the showInfo() method in the stock Utility App template.

(Yes I realize I can manually load the ~iPad version checking UI_USER_INTERFACE_IDIOM(). I'm trying to figure out what I'm doing wrong in getting the ~iPad modifier to work.)

Any ideas what I'm missing?

Thanks a ton for your help!


回答1:


in the end i found the solution. it is really very very simple. The xib must be named ~ipad instead of ~iPad, and ~iphone instead of ~iPhone. The bad thing is the if you name them ~iPad, everything works in the simulator but it does not work on the real device.




回答2:


It can be done automatically based on the name, no worries. The only problem is you'll need to switch your naming convention. MainView.xib will be your iPad xib and MainView~iphone.xib will be your iPhone xib. Then it should work perfectly for you and you don't have to do anything but alloc/init.

You can check out my other answer on this topic here: iOS: Using device modifiers for loading xib files?



来源:https://stackoverflow.com/questions/6319399/ios-device-specific-resources-not-working-ipad-loading-default-xib-universa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!