我有一個適用於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