0

我正在构建一个支持 iOS 5.1.X 和 6.X 的通用应用程序。但我有一个问题要问你们。在 iOS 5.1.X 上不支持自动布局,我想一个解决方案有 3 个笔尖 1)ipad 2)iphone 视网膜而不是视网膜 3)iphone 5。我想使用 3 个笔尖的原因之一是加载它带有图形和动画,但我不确定这将是最好的解决方案。我想知道您对这种方法的意见或对不同解决方案的建议。

4

3 回答 3

0

不要让 AutoLayout 强迫你进入这样的角落。您必须记住:XIB 中的布局从来都不是绝对的。-viewDidLoad您可以选择在,(或者,甚至更好, )中编写布局代码,-layoutSubviews并且通过一些创造性的数学运算,您甚至可以将您的应用程序缩减为一个通用的 XIB,并在您的视图控制器中使用适当的布局代码。

如果实际上是通用的,那么您的应用程序永远不必为视图控制器拥有超过 2 个 XIB(并且 iPad 版本和类似 Pod 的设备版本不同,足以保证单独的布局或设计)。

于 2013-01-17T05:09:19.430 回答
0

您可以执行以下操作

首先确定设备iphoneipad

int iphone =0;

 if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
     iphone = 0;
}
else
{
     iphone = 1;
}


NSString* nibName;

if(iphone == 0)
{
     nibName = @"SettingsiPadView";
}
else
{
    nibName = @"SettingsiPadView";
}

Settings* setObj = [[Settings alloc]initWithNibName:nibName bundle:nil];
[self.navigationController pushViewController:setObj animated:YES];
于 2013-01-17T05:13:11.577 回答
0

加载三个笔尖不是问题。想象一下,您正在构建一个通用应用程序。现在,如果您尝试在 ipad 和 iphone 上使用相同的 nib 文件,那就大错特错了。你的用户界面都搞砸了。但是对于视网膜和非视网膜,您可以使用 1x 和 2x 图像,以便您可以使用相同的 nib 文件。但如果你真的想在这里使用 3 个 nib 文件,我会说使用 1x 和 2x 图像

于 2013-01-17T05:44:54.903 回答