我使用单个storyBoard使用xcode6制作我的第一个通用应用程序。通常我有两个故事板 - 一个用于iPhone,一个用于iPad。每个故事板都会有相关的图片。
但是现在,如果我将UIImage作为iPad的背景,我怎么能在iPhone上有不同的uiImage?
答案 0 :(得分:1)
解决方案#1)
您可以使用" UI_USER_INTERFACE_IDIOM
"有条件的帮助你。
根据code in this answer,您需要做的就是将UIImage设置为插座,然后执行以下操作:
- (BOOL) isPad{
#ifdef UI_USER_INTERFACE_IDIOM
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#else
return NO;
#endif
}
if([self isPad])
{
//do code for iPad
[self.backgroundImageView.image = [UIImage imageNamed:@"bigBackgroundImage"];
}
else
{
//do code for iphone
[self.backgroundImageView.image = [UIImage imageNamed:@"smallerBackgroundImage"];
}
解决方案#2)
您确实仍然可以为iPad和iPhone使用单独的故事板。
为此,您需要编辑应用程序的info.plist文件,以显示iPad和iPhone的两个不同的故事板文件。在Xcode 6.1中,它看起来像这样:
或者,如果您直接编辑Info.plist文件,则需要取出原始的UIMainStoryboardFile`键和值,然后插入这两个(将文件重命名为您想要的文件...)
<key>UIMainStoryboardFile~ipad</key>
<string>nameOfiPadStoryboard</string>
<key>UIMainStoryboardFile~iphone</key>
<string>nameOfiPhoneStoryboard</string>