Nik*_*kil 11 iphone objective-c uiview ipad
我正在尝试制作适用于iPhone和iPad的应用程序.我正在寻找如何使两者兼容的接口.当应用程序加载时,我正在显示表格视图.如何根据设备加载不同的笔尖?我用这个来切换笔尖.
if ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)])
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
device = @"iPad";
}
else
{
device = @"iPhone";
}
}
Run Code Online (Sandbox Code Playgroud)
但在MainWindow.xib中,它表示视图是从iPhone的视图控制器加载的.我可以根据设备制作这种动态吗?即我想从应用程序的开始显示基于设备的不同笔尖.谢谢.
Ada*_*dam 27
实际上,Apple会自动执行所有操作,只需命名您的NIB文件:
MyViewController~iphone.xib // iPhone
MyViewController~ipad.xib // iPad
Run Code Online (Sandbox Code Playgroud)
并使用最少量的代码加载视图控制器:
[[MyViewController alloc] initWithNibName:nil bundle:nil]; // Apple will take care of everything
Run Code Online (Sandbox Code Playgroud)
你可以用类似的方式做到这一点:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
mainMenu = [[MainMenu alloc] initWithNibName:@"MainMenuiPad" bundle:nil];
}else{
mainMenu = [[MainMenu alloc] initWithNibName:@"MainMenu" bundle:nil];
}
Run Code Online (Sandbox Code Playgroud)
制作通用应用程序,
适用于iPhone/iPad的应用程序的信息构建选项卡中的1组目标系列.
2-从主窗口删除窗口.
3-为iPhone添加两个xib,为iPad添加一个(通过选择iPad xib).
4-将appDelegate类作为这些xib的控制器文件.
5-在这些xib上添加窗口并查看控制器或导航控制器,并通过IB Inspector设置加载笔尖名称和控制器文件,其中一个是您的第一个视图.
6-然后为具有tableview或其他控件的iPad和iPhone制作不同的xib.
7-为不同的设备制作单个控制器文件或不同的控制器文件,如果是其他条件你需要检查设备
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
Run Code Online (Sandbox Code Playgroud)
8-现在你需要在方法didFinishL--中的appDelegate类中加载xib
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
// load your nib for iPad here which having view controler or navigation controller as well window.
}else{
//load nib for iPhone.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10922 次 |
| 最近记录: |