簡體   English   中英

如何在Xcode 6中使用XIB創建iOS項目?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM