[英]How to create an iOS project with a XIB in Xcode 6?
我正在嘗試用Objective-C語言創建一個沒有使用Xcode 6 Beta 5的故事板的項目。我嘗試並創建了一個空項目,但它不能用作Xcode 5。
我已經閱讀了這個主題如何在Xcode 6中創建沒有故事板的項目 - Swift但它對我沒有幫助。
你是什么意思它沒有像Xcode 5那樣工作? 您可以創建沒有storyboard的空項目,然后在Xcode 5中添加您自己的類XIB:File - > New - > File - > Cocoa Touch Class - > Set“Subclass of:”as(例如)UIViewController並檢查“創建XIB文件“。
您首先要創建一個新的“單一視圖”項目。 這開始於一個Storyboard,但是當Xcode 6刪除了創建Empty項目的選項時,我們將從這里開始使用它。
然后,為該項目創建一個新文件,進入“用戶界面”類別並選擇“查看”。 我將它命名為與原始ViewController相同的名稱,因為它將替換我們即將從項目中刪除的故事板。
創建XIB后,您需要選擇它並將“文件所有者”設置為指向您希望此XIB鏈接的“ViewController”類。 這是通過進入Xib文件所有者的Identity Inspector,並將NSObject的默認值更改為視圖控制器的類名來完成的。
完成后,您需要轉到Connections Inspector以將文件所有者的視圖鏈接到XIB的視圖。 只需點擊“視圖”對面的小圓圈,然后將其拖到視圖中即可進行連接。 然后,您應該在視圖和視圖之間建立連接。
現在重要的部分。 在“常規”選項卡下進入您的項目目標。 有一個名為“部署信息”的小節。 在該小節中,有一個“主界面”字段。 該字段應顯示故事板的名稱。 您需要刪除此字段中顯示的值,以便將主界面留空。
然后進入App Delegate並設置窗口的根視圖控制器,就像您以前版本的Xcode一樣。 完成后,您應該使用XIB運行應用程序,並且可以從項目中刪除故事板而不會產生任何不利影響。
我不知道為什么人們會投票,因為這是一個合理的問題,所以這是你需要做的:
創建一個空項目,創建一個新的視圖控制器(文件/新建/文件) - 如果需要,可以使用XIB文件,將新視圖控制器導入AppDelegate,並將此視圖控制器設置為根視圖控制器。
AppDelegate.m:
#import "AppDelegate.h"
// import the view controller you want to be displayed first
#import "FirstViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// create an instance of the view controller you want to be displayed first
FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
// set it as the root view controller of the application's window
[self.window setRootViewController:firstViewController];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
當然,現在,如果你想創建一個標簽欄或導航控制器,你會有所不同,但這應該是一個很好的起點。
AppDelegate.h
UINavigationController *nav;
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
ViewController *ll=[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
nav=[[UINavigationController alloc]initWithRootViewController:ll];
[self.window setRootViewController:nav];
[nav setNavigationBarHidden:YES];
return YES;
}
這很簡單:
添加到此項目新文件 - > Objective-C類(帶.xib文件)。 我的類名為“ViewController”:)現在你必須在AppDelegate.h中創建UINavigationController,例如:
@property(強,非原子)UINavigationController * navController;
比你必須設置你的navcontroller
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
ViewController* homeViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
_navController = [[UINavigationController alloc] initWithRootViewController:homeViewController];
self.navController.navigationBarHidden = YES;
self.window.rootViewController = self.navController;
return YES;
}
就這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.