在iOS中区分iPhone和iPad的Storyboard

20 浏览
0 Comments

在iOS中区分iPhone和iPad的Storyboard

我正在处理Storyboard。我为iPhone和iPad分别创建了两个故事板。所以我的问题是如何区分这两个界面。

我分享一下我写的代码:

// 我把这段代码写在AppDelegate方法中。

UIStoryboard *loStoryboard ;

if (loStoryboard == [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil])

{

// iPhone .....

}

else

{

// iPad....

}

但是它没有起作用。

0
0 Comments

iPhone和iPad在iOS中的Storyboard之间有何区别?

在iOS开发中,有时候需要对iPhone和iPad设备进行不同的界面设计。但是,在处理这种情况时,我们不需要区分界面,只需要判断设备类型即可。下面的代码可以帮助我们实现这一目标:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
        //Ipad
}
else
{
        //Ipod-Iphone
}

这段代码会根据设备的类型返回相应的结果。如果设备是iPad,那么执行的是"Ipad"部分的代码;如果设备是iPhone或iPod Touch,那么执行的是"Ipod-Iphone"部分的代码。

通过这种方式,我们可以根据设备类型来实现不同的界面设计,以满足iPhone和iPad设备的不同需求。

0
0 Comments

在iOS开发中,我们不需要区分scoreboards,只需要在Xcode中区分不同的界面使用哪个scoreboard。具体如下所示:

1. 打开Xcode,进入Deployment Info选项卡。

2. 在Main Interface中选择对应的storyboard文件名。

另外,我们也可以通过编程的方式来区分不同的设备类型。具体代码如下所示:

#define interfaceType    UI_USER_INTERFACE_IDIOM()
#define IPAD     UIUserInterfaceIdiomPad
if (interfaceType == IPAD) {
    // iPad设备的处理逻辑
} else {
    // 非iPad设备的处理逻辑
}

以上就是区分iPhone和iPad的storyboard在iOS开发中出现的原因以及解决方法。

0
0 Comments

在iOS中区分iPhone和iPad的Storyboard。

尝试这个方法。

首先在你的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];

我认为这会对你有所帮助 🙂

0