我一直在閱讀關於使用/不使用接口構建器的編程優點/缺點,我想嘗試從頭開始編寫一個應用程序。然而,即使有一個基於窗口的應用程序,它創建了一個xib文件,我想刪除這個但不知道該怎麼做。只是真的需要這個跳躍開始。謝謝!如何啓動一個iphone應用程序,以便它不使用任何nib文件?
回答
從根本上說,你必須指定UIApplicationMain()的的appDelegate(在main.m文件),這是...來自:
int retVal = UIApplicationMain(argc, argv, nil, nil);
到:
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
然後在MyAppDelegate的方法應用程序:didFinishLaunchingWithOptions:您必須手動創建您的用戶界面:
// initialize application's window
_window = [[UIWindow alloc] initWithFrame:MAIN_FRAME];
// activate and display application's window
[_window makeKeyAndVisible];
...等等
這就是我一直在尋找的!謝謝!! – bubbles
@bubbles:你的問題本身並不明確。在你的問題中最初沒有提到你在刪除MainWindow.xib時遇到了問題。一般來說,你只是提到了xib文件。所以請從下次開始提及您的要求。 :) –
您可以創建任何項目,並且當您添加新的viewController時,只需取消選中「使用XIB for UserInterface」複選框(如下面顯示紅色箭頭所示)即可。
這將允許您創建沒有XIB的viewControllers。
但你必須把所有的控件編程爲的viewController
不使用它默認自帶的的viewController,並與上面提到的方法添加newViewController。
然後開始使用其分配(alloc)和初始化(init)方法創建您想要的控件,如UIButton,UILabel等,並設置其框架。
然後,您需要根據您的要求設置任何屬性,然後將其作爲子視圖添加到viewwController的主視圖。所以這將是像說動態添加文本字段將是:
UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(150,30,40,24)];
txtField.textColor = [UIColor blueColor];
[self.view addSubview:txtField];
希望這可以幫助你。
有辦法少,簡單的人之一: 轉到項目文件導航,尋找
"Supporting Files -> XXX-info.plist",
再看看這個:
Main nib file base name:
刪除此。
希望這有助於
希望接下來的步驟將是有益的。
打開ProjectNameInfo.plist文件,然後刪除名爲主要筆尖文件基本名稱(朝向信息屬性列表底部)的屬性。您可以通過點擊選擇它然後按下Delete鍵來刪除一個屬性。
在Other Sources下,打開main.m,並將調用的最後一個參數從nil更改爲您的應用程序委託類的名稱(例如@「ProjectNameAppDelegate」)。
待辦事項以下在AppDelegate類didFinishLaunchingWithOptions變化:方法
//獲取屏幕
的Rects的CGRect screenBounds = [[UIScreen mainScreen]界限];
//分配窗口
m_window = [[ALLOC的UIWindow] initWithFrame:方法screenBounds];
//分配自定義視圖
m_view = [[MyView的頁頭] initWithFrame:方法screenBounds];
//添加視圖並進行窗口可見
[m_window addSubview:m_view]。
[m_window makeKeyAndVisible];
return YES;
- >我從書中學到了iPhone的3D編程:Philip Rideout:O'Reilly出版。
你應該在上面的goole書中找到並閱讀一些頁面以便進一步理解,因爲只有上面的解釋可能不夠。
此外,在完成上述步驟後,您可以在不使用xib的情況下製作任意數量的視圖控制器和視圖...請參閱由Apple提供的各種編程指南文檔。
好運
我做了一些筆尖少項目模板的Xcode 4:MinimalisticXcodeTemplates (GitHub)。
- 1. 如何在第一次啓動應用程序時調用nib文件?
- 2. 如何創建一個沒有.nib文件的opengl iphone應用程序?
- 3. 如何啓動iPhone應用程序
- 4. Bada應用程序如何註冊,以便Widget可以啓動它?
- 5. 如何從另一個iPhone應用程序啓動MobileIron Web @ Work應用程序?
- 6. 如何從iPhone應用程序啓動另一個應用程序
- 7. 從另一個iphone應用程序啓動一個iphone應用程序?
- 8. iPhone 5應用程序啓動另一個應用程序
- 9. 如何禁用iPhone Safari以啓動地圖應用程序
- 10. 它如何啓動一個GUI應用程序?
- 11. iPhone應用程序啓動
- 12. 如何啓動一個應用程序,以便用戶可以發送電子郵件?
- 13. 如何創建DMG文件,以便在啓動後自動啓動應用程序
- 14. 如果通用應用程序沒有nib文件,它可以被拒絕嗎?
- 15. 如何導出活動以便其他應用程序可以調用它?
- 16. 如何使用cocos2d-x啓動另一個Android應用程序?
- 17. 使用JNLP文件啓動一個應用程序
- 18. Jar文件不起作用(它沒有啓動應用程序)
- 19. 屏幕不啓動iphone應用程序
- 20. Android可以應用程序檢測它是如何啓動的?
- 21. 如何構建一個程序以便它不需要DLL
- 22. 哪個配置文件是必需的,以便任何用戶都有權在iPhone上安裝應用程序?
- 23. 啓用任務鎖定時啓動另一個應用程序
- 24. 如何從一個iPhone應用程序
- 25. 如何使這個簡單的iPhone應用程序:剛剛啓動郵件
- 26. 如何從iPhone應用程序中啓動iPhone日曆?
- 27. 如何設置「web應用程序屬性」以便HSQLDB可以使用它們?
- 28. 如何捆綁(zip/tar /?)文件集以便iPhone應用程序可以擴展它們?
- 29. 如何使Websphere上的應用程序服務器依賴於另一個應用程序服務器,以便它們一起啓動和停止?
- 30. 如何從sed文件啓動多個應用程序
可能的重複[加載視圖控制器和視圖層次編程在Cocoa Touch沒有xib](http://stackoverflow.com/questions/809898/loading-a-view-controller-view-hierarchy-programatically-in-可可觸摸 - 無) –