在iOS中区分iPhone和iPad故事板

use*_*436 3 storyboard ios

我正在努力Storyboard.我有iPhone和iPad的2层板.所以我的问题是如何区分这两个接口.

我和我的代码分享了我的代码:

// I am writing this code in AppDelegate Method.

UIStoryboard *loStoryboard ;
if (loStoryboard == [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil])
{
  // iPhone  .....
}
else
{
  // iPad....
} 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

S R*_*yak 6

试试这个吧.

在您的AppDelegate方法中,首先定义这个:

#define IPHONE_STORYBOARD_NAME  @"Main_iPhone";
#define IPAD_STORYBOARD_NAME    @"Main_iPad";
Run Code Online (Sandbox Code Playgroud)

然后声明这个方法:

+ (NSString *)storyboardName
{
   if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
       return IPHONE_STORYBOARD_NAME;
   } else {
       return IPAD_STORYBOARD_NAME;
   }
}
Run Code Online (Sandbox Code Playgroud)

你想在哪里调用这个storyboardName方法

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:[AppDelegate storyboardName] bundle:nil];
Run Code Online (Sandbox Code Playgroud)

我想这会对你有所帮助:)