我有一個適用於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. 將iPhone應用程序轉換爲Xcode 4中的通用應用程序
- 2. Xcode 6:將通用應用程序轉換爲iPhone只有應用程序
- 3. Xcode中的通用iOs應用程序和基於Windows的應用程序
- 4. 設置應用程序Xcode
- 5. 使用Xcode 4.3創建一個空的通用應用程序
- 6. iOS通用應用程序xcode 4入門提示
- 7. XCode 6中通用應用程序和大小類的問題
- 8. 爲Xcode 4.3創建通用應用程序?
- 9. XCode 4.01 iOS通用應用程序未顯示iPad查看
- 10. IOS 4.2和Xcode 3.2的通用應用程序
- 11. Xcode - 如何製作通用應用程序
- 12. XCode通用應用程序切換筆尖/ xibs
- 13. Xcode通用應用程序模板,並覆蓋didFinishLaunchingWithOptions
- 14. xcode iphone項目和ipad項目到通用應用程序
- 15. Xcode:通用\ iOS4應用程序的體系結構設置
- 16. Xcode通用應用程序iPad UITableView大小
- 17. 應用程序提交到應用程序商店與xcode 4
- 18. 建立web應用程序IOS應用程序沒有xcode
- 19. xcode項目與應用程序中的應用程序
- 20. iphone應用程序中使用的Xcode
- 21. 在.net應用程序中使用xCode
- 22. 使用xCode創建應用程序ID
- 23. 將iPhone應用程序轉換爲Xcode 4中的通用程序
- 24. 通用應用程序Splitviewcontroller
- 25. 通用應用程序TextBlockButtonStyle
- 26. 如何使用Xcode 4.2創建通用應用程序與StoryBoards的空應用程序模板?
- 27. 通過xcode辭去應用程序與企業部署
- 28. Xcode 9 - 無法與助手應用程序通信
- 29. Xcode 9 commit:無法與幫助器應用程序通信
- 30. 當不通過Xcode運行時,應用程序崩潰
我不需要的設備名稱,如果我在廈門國際銀行文件類型名稱自己的權利?它告訴我沒有可見的@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