我正在研究Storyboard
。 iPhone和iPad有2个故事板iPad兼容。所以我的问题是如何区分这两个接口。
我正在分享我所做的代码:
// I am writing this code in AppDelegate Method.
UIStoryboard *loStoryboard ;
if (loStoryboard == [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil])
{
// iPhone .....
}
else
{
// iPad....
}
但它没有用。
答案 0 :(得分:6)
试试这个。
在AppDelegate
方法中,首先定义一个:
#define IPHONE_STORYBOARD_NAME @"Main_iPhone";
#define IPAD_STORYBOARD_NAME @"Main_iPad";
然后声明这个方法:
+ (NSString *)storyboardName
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return IPHONE_STORYBOARD_NAME;
} else {
return IPAD_STORYBOARD_NAME;
}
}
您想要调用此storyboardName
方法
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:[AppDelegate storyboardName] bundle:nil];
我认为这会对你有所帮助:)。
答案 1 :(得分:0)
您无需区分界面。此代码将返回您,哪个设备正常工作:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
//Ipad
}
else
{
//Ipod-Iphone
}
答案 2 :(得分:0)
您不需要区分记分板。我们只区分xcode(哪个界面的记分牌):
部署信息 - >主界面 - > STORYBOARDNAME 或者以编程方式,您可以区别于:
#define interfaceType UI_USER_INTERFACE_IDIOM()
#define IPAD UIUserInterfaceIdiomPad
if ( interfaceType == IPAD ) {
/* do for iPad. */
} else {
`enter code here`
}