Xcode5中如何切换Storyboards为xib
2014-02-25 10:04
211 查看
在Xcode5中,当创建一个带View的iPhone项目时,默认必须使用Storyboards,不再支持切换xib的checkbox。本文讲解如何手动切换到使用xib来布局。
1,把Main.storyboard从项目中移除
2,添加xib文件到项目中。添加一个新文件,选择View,命名和*ViewContorller相同。
3,把Main storyboard对应的项从plist文件中移除
4,在*AppDelegate中添加类似代码
如果ARC关闭的话,以上代码需要手动添加autorelease,这里不详述了。
5,可选:关闭ARC。 在项目的build setting中,找到 Objective-C Automatic Reference Counting, 设置为No
![](http://images.cnitblog.com/blog/134885/201402/251003378753154.png)
6,把xib关联到对应的ViewController上,否则会报如下错误
NibName[2203:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "loc" nib but the view outlet was not set.'
步骤(参考自 loaded some nib but the view outlet was not set):
1). 点击我们要加载的 xib 文件
2). 在右边选中 File's Owner
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148374809.png)
3). 在 File's Owner 的
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202149107263.png)
选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的 VC, 这里改成 UIViewController,
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148372334.png)
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148377907.png)
4). 这时候,在File's Owner 的
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148371287.png)
选项卡中, 就 会出现“待连接设置” 的 view 属性, 也即我们的编译器 告诉我们的 the view outlet was not set 中的 view。当 File's Owner 的 class 为 NSObject 时候,是没有 view 属性的。
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148378812.png)
连接 view 属性(把连线拖动到xib设计器中进行连接),
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148381353.png)
参考:
/article/5033661.html
http://stackoverflow.com/questions/17234172/xcode-5-without-storyboard-and-arc
1,把Main.storyboard从项目中移除
2,添加xib文件到项目中。添加一个新文件,选择View,命名和*ViewContorller相同。
3,把Main storyboard对应的项从plist文件中移除
4,在*AppDelegate中添加类似代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ; // Override point for customization after application launch. TestViewController *test = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:test]; self.window.rootViewController = nav; [self.window makeKeyAndVisible]; return YES; }
如果ARC关闭的话,以上代码需要手动添加autorelease,这里不详述了。
5,可选:关闭ARC。 在项目的build setting中,找到 Objective-C Automatic Reference Counting, 设置为No
![](http://images.cnitblog.com/blog/134885/201402/251003378753154.png)
6,把xib关联到对应的ViewController上,否则会报如下错误
NibName[2203:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "loc" nib but the view outlet was not set.'
步骤(参考自 loaded some nib but the view outlet was not set):
1). 点击我们要加载的 xib 文件
2). 在右边选中 File's Owner
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148374809.png)
3). 在 File's Owner 的
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202149107263.png)
选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的 VC, 这里改成 UIViewController,
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148372334.png)
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148377907.png)
4). 这时候,在File's Owner 的
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148371287.png)
选项卡中, 就 会出现“待连接设置” 的 view 属性, 也即我们的编译器 告诉我们的 the view outlet was not set 中的 view。当 File's Owner 的 class 为 NSObject 时候,是没有 view 属性的。
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148378812.png)
连接 view 属性(把连线拖动到xib设计器中进行连接),
![](http://images.cnblogs.com/cnblogs_com/TivonStone/201204/201204202148381353.png)
参考:
/article/5033661.html
http://stackoverflow.com/questions/17234172/xcode-5-without-storyboard-and-arc
相关文章推荐
- Xcode5中如何切换Storyboards为xib
- Xcode5中如何切换Storyboards为xib
- Xcode5中如何切换Storyboards为xib
- Xcode5中如何切换Storyboards为xib
- Xcode5中如何切换Storyboards为xib
- xcode5编译过的xib 如何在xcode4.6下打开
- xcode5编译过的xib 如何在xcode4.6下打开
- Xcode6中如何切换storyboard为xib
- Multiview Applications(多个xib之前的切换) view controller和xib文件是如何关联在一起的 (手动关联 view controller和xib文件)
- xcode5编译过的xib 如何在xcode4.6下打开
- LaTeX中如何实现单栏和双栏的切换而不用换页
- 如何在xib/storyboard中设置视图的属性,如圆角?
- 【原创】Ubuntu下root用户和user用户如何进行相互切换
- linux如何切换到root用户
- 【git系列之B】git切换到某个tag之后提示“detached HEAD"应该如何操作
- 如何切换面板
- silverlight中如何方便在多个"场景"即Xaml文件之间随意切换?
- Android注解使用之注解编译android-apt如何切换到annotationProcessor
- 【mark】如何改变VC中控件间的TAB切换顺序
- zend sudio如何将界面切换到中文