xcode6单个故事板但需要不同的图像

时间:2014-10-09 22:06:10

标签: iphone ipad ios8

我使用单个storyBoard使用xcode6制作我的第一个通用应用程序。通常我有两个故事板 - 一个用于iPhone,一个用于iPad。每个故事板都会有相关的图片。

但是现在,如果我将UIImage作为iPad的背景,我怎么能在iPhone上有不同的uiImage?

1 个答案:

答案 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中,它看起来像这样:

Two Separate Storyboard possiblities in the Info.plist file

或者,如果您直接编辑Info.plist文件,则需要取出原始的UIMainStoryboardFile`键和值,然后插入这两个(将文件重命名为您想要的文件...)

<key>UIMainStoryboardFile~ipad</key>
<string>nameOfiPadStoryboard</string>
<key>UIMainStoryboardFile~iphone</key>
<string>nameOfiPhoneStoryboard</string>