自动调整 iPhone xib 应用程序到 ipad 的大小
Posted
技术标签:
【中文标题】自动调整 iPhone xib 应用程序到 ipad 的大小【英文标题】:Auto-resize iPhone xib app to ipad 【发布时间】:2013-08-06 06:56:54 【问题描述】:我用 5-6 个屏幕构建了一个“使用 xib”的 iPhone 应用程序。现在我想为 iPad 自动调整显示器的大小。我正在使用 xcode 4.6。
我是否必须使用情节提要重新构建整个代码?这将是一项非常乏味的工作。有什么解决办法吗?
【问题讨论】:
你在使用自动布局吗? 不,自动布局未选中。如果我使用自动布局,代码会在设备中崩溃,或者如果我尝试在旧版本模拟器中运行 storyboard 是管理 ipad 或 iphone xib 的一个不错的选择,如果设备 > ios5 iPhone Interface Builder and Delegates的可能重复 【参考方案1】:您只需要为 iPad 创建新的 xib 文件并将它们命名为 ViewController_iPhone.xib
和 ViewController_iPad.xib
并且在切换视图时,只需输入一个简单的条件
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
ViewController *viewController = [[ViewController alloc] initWithNibName:
@"ViewController_iPad" bundle:nil];
else
ViewController *viewController = [[ViewController alloc] initWithNibName:
@"ViewController_iPhone" bundle:nil];
【讨论】:
把这个if-else
条件到处放不累吗?【参考方案2】:
使用自动布局,一切都会自动完成
如果不是autolayout
,那么制作 2 xib
将是一个更好的选择。使ipad
与xib
同名,并将~ipad
放在类名之后。
如果你 xib
名字是 myClass.xib
并创建另一个像 myClass~ipad.xib
。
【讨论】:
@VaibhavSaran :我没有使用自动布局,而是通过在 xib 名称中使用 ~iphone 和 ~ipad 后缀为 iphone 和 ipad 使用单独的 xib。我的问题是,我可以为 iPhone 5 等更长的 iPhone 屏幕使用像 ~-568h 这样的后缀吗?以上是关于自动调整 iPhone xib 应用程序到 ipad 的大小的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 xib + iPhone 中的 AutoSizing 属性