我有一个适用于iPad和iPhone的通用iOS应用程序。我创建了一个带有xib和iPad的课程。我现在如何为iPhone设计它?为iPhone创建另一个xib?如果是这样的话,我会告诉应用程序如何在需要时为iPhone加载xib,因为现在它会加载iPad xib,并且一切都太大了。 在此先感谢XCode通用应用程序
回答
那么,您的视图控制器有一个名为initWithNibName: bundle:
的方法。 这样做:
MyController *controller = [[MyController alloc] initWithNibName:[NSString stringWithFormat:@"myController_%@",deviceName] bundle:nil];
编辑:你必须做出2个xibs,对不对?将它们命名为Settings_iPhone.xib和Settings_iPad.xib。当你要显示设置屏幕,继续申报
NSString *deviceName = ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) ? @"iPhone" : @"iPad";
之后:
Settings *controller = [[Settings alloc] initWithNibName:[NSString stringWithFormat:@"Settings_%@",deviceName] bundle:nil];
是的,你需要两个笔尖文件。您可以使用initWithNibName
并通过使用以下代码检测设备类型来指定笔尖的名称。
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
这将允许你在不同的设备
我做这样说:如果 (UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad) 但是当我这样做: 设置* settingsViewController = [[设置页头] initWithNibName:[的NSString stringWithFormat:@ “设置 - iPhone” 捆绑:零]]; 它告诉我'设置'没有可见的@interface声明选择器'initWithNibName' – oybcs 2012-07-10 10:16:44
当我需要做这样的应用,我做了2 XIB文件,一个为iPad,一个用于iPhone区别开来。第一个是使用视图控制器创建的。第二个是通过添加接口文件创建的。我试图让meaningfull的名称(如:ListNameVC.xib和ListNameVC_iPad.xib
在第二次厦门国际银行,你需要做两件事情
- 文件的所有者类必须指向正确的VC类
- 您必须在对象与文件的所有者认为出口链接视图(否则你会崩溃上执行)。
有了这些,你可以创建你的视图控制器的正确的厦门国际银行,基于呼叫在设备上:
ListeNameVC* listeNameVC
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad){
listeNameVC = [[ListeNameVC alloc] initWithNibName:@"ListeNameVC_iPad" bundle:nil];
} else {
listeNameVC = [[ListeNameVC alloc] initWithNibName:@"ListeNameVC" bundle:nil];
}
如果您需要在iPhone或iPad上以不同的方式执行操作,则可以在视图控制器中使用UI_USER_INTERFACE_IDIOM。例如,如果你把一个UIButton编程,或者如果你的iPhone设置图像的名称和另一个用于iPad的
CDT
谢谢你,它的作品像一个魅力:) – oybcs 2012-07-10 10:46:08
- 1. Xcode:通过USB分发应用程序
- 2. 将iPhone应用程序转换为Xcode 4中的通用应用程序
- 3. 如何将xcode 4.1 iPhone应用程序转换为通用应用程序
- 4. Xcode中的通用iOs应用程序和基于Windows的应用程序
- 5. 将iPhone应用程序转换为xcode 4.2上的通用应用程序
- 6. Xcode 6:将通用应用程序转换为iPhone只有应用程序
- 7. 设置应用程序Xcode
- 8. Xcode iPhone应用程序使用PhoneGap的Android应用程序
- 9. 使用Xcode 4.3创建一个空的通用应用程序
- 10. 应用程序提交到应用程序商店与xcode 4
- 11. xcode项目与应用程序中的应用程序
- 12. 建立web应用程序IOS应用程序没有xcode
- 13. IOS 4.2和Xcode 3.2的通用应用程序
- 14. Xcode通用应用程序模板,并覆盖didFinishLaunchingWithOptions
- 15. XCode 6中通用应用程序和大小类的问题
- 16. XCode通用应用程序切换笔尖/ xibs
- 17. iOS通用应用程序xcode 4入门提示
- 18. Xcode通用应用程序iPad UITableView大小
- 19. XCode 4.01 iOS通用应用程序未显示iPad查看
- 20. Xcode - 如何制作通用应用程序
- 21. Xcode:通用\ iOS4应用程序的体系结构设置
- 22. 为Xcode 4.3创建通用应用程序?
- 23. 没有uimenucontroller与uitextview显示,通用应用程序xcode 4
- 24. xcode iphone项目和ipad项目到通用应用程序
- 25. 使用xCode创建应用程序ID
- 26. 在.net应用程序中使用xCode
- 27. 使用Xcode应用程序加载器
- 28. iphone应用程序中使用的Xcode
- 29. Xcode调用应用程序didFinishLaunchingWithOptions
- 30. 使用Xcode 5更新应用程序
我不需要的设备名称,如果我在厦门国际银行文件类型名称自己的权利?它告诉我没有可见的@interface'Settings'声明选择器'initWithNibName' – oybcs 2012-07-10 10:19:02
请参阅我编辑的答案 – George 2012-07-10 10:23:07
谢谢,以及我如何将新的笔尖连接到Settings类? – oybcs 2012-07-10 10:30:46