我尝试用Objective-C语言创建一个没有使用Xcode 6 Beta 5的故事板的项目。我尝试并创建了一个空项目,但它没有像Xcode 5一样工作。
我已阅读此主题How to create project without story board in Xcode 6 - Swift,但它对我没有帮助。
答案 0 :(得分:9)
你是什么意思它没有像Xcode 5一样工作?您可以创建没有storyboard的空项目,然后像Xcode 5一样使用XIB添加自己的类: 档案 - >新 - >档案 - > Cocoa Touch Class - >设置"子类:" as(例如)UIViewController并检查"还创建XIB文件"。
答案 1 :(得分:8)
你首先要制作一个新的"单一视图"项目。这是从故事板开始的,但是当Xcode 6删除了创建Empty项目的选项时,我们将从这里开始使用它。
然后,您为此项目创建一个新文件,进入"用户界面"类别并选择"查看"。我将其命名为与原始ViewController相同的名称,因为它将替换我们将要从项目中删除的故事板。
创建XIB后,您需要选择它并设置"文件的所有者"指向" ViewController"您希望此XIB链接的类。这是通过进入文件的Xib所有者的Identity Inspector,并将NSObject的默认值更改为视图控制器的类名来完成的。
完成后,您需要转到Connections Inspector,将File的所有者视图链接到XIB视图。只需点击"中的小圆圈即可查看"并将其拖动到您的视图以连接它。然后,您应该在视图和视图之间建立连接。
现在重要的部分。进入您的项目目标,在" General"标签。有一个名为"部署信息"的小节。在该小节中,有一个字段用于"主界面"。该字段应显示故事板的名称。您需要删除此字段中显示的值,以便将主界面留空。
然后进入App Delegate并设置窗口的根视图控制器,就像您以前版本的Xcode一样。完成后,您应该使用XIB运行应用程序,并且可以从项目中删除故事板而不会产生任何不利影响。
答案 2 :(得分:2)
我不知道为什么人们会投票,因为这是一个合理的问题,所以这就是你需要做的事情:
创建一个空项目,创建一个新的视图控制器(文件/新建/文件) - 如果需要,可以使用XIB文件,将新视图控制器导入AppDelegate,并将此视图控制器设置为根视图控制器。 / p>
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;
}
现在,当然,如果您想要创建一个标签栏或导航控制器,您可能会有所不同,但这应该是一个很好的起点。
答案 3 :(得分:2)
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;
}
答案 4 :(得分:0)
这很简单:
添加到此项目新文件 - > 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;
}
多数人。