iOS学习笔记(2)--Xcode6.1建立仅xib文件无storyboard的hello world应用

---恢复内容开始---app

因为Xcode6以后,默认建立storyboard而非xib文件,而做为初学,了解xib的加载原理很重要,因此,须要建立一个没有storyboard的项目编辑器

1. 建立一个新的工程

 

2. 选择仅一个视图的模板

 选择 Single View Application , 点击Nextide

3. 填写项目信息

不须要选择core data,填好信息后,点击next,而后点击createatom

 

4. 删除storyboard和launchscreen.xib文件

将storyboard和launchscreen扔进废纸篓spa

 

5. 修改info.plist文件

删除info.plist文件中Main storyboard file base name和Launch screen interface file base name两个属性3d

 

6. 建立user interface的视图xib文件

点击next,而后Save as “HelloWorldView”点击Createcode

从object library中拖出一个Lable,再拖出一个button造成下面图便可blog

7. 修改视图控制器文件

建立视图和控制器的关联,Xcode默认建立了ViewController.h和ViewController.m文件,因此就不用本身建立了继承

1)修改xib视图文件的File's Owner

点击列表中的File's Owner,按command+option+3 打开 Identity Inspector,修改Custom Class中的Class为ViewControllerit

2)建立输出口和动做方法的关联

点击中间的两个圈,打开辅助编辑器

选定Lable视图同时按住control键拖到ViewController.h的@interface与@end中间会弹出菜单,按照下图填写内容,而后回车建立输出口

 

建立button的动做方法也是选定视图并按住controll键拖到辅助编辑区

建立好关联后,ViewController.h的代码变为:

1 #import <UIKit/UIKit.h>
2 
3 @interface ViewController : UIViewController
4 @property (weak, nonatomic) IBOutlet UILabel *helloLable;
5 - (IBAction)helloButton:(UIButton *)sender;
6 
7 @end

点击xib列表中的File's Owner,而后按command+option+6 打开Connection Inspector查看输出口和动做的关联,将View与ViewController从UIViewController中继承的view属性进行关联

关联好的链接检查器以下所示

3) 修改ViewController.m的代码

 

 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()
 4 
 5 @end
 6 
 7 @implementation ViewController
 8 
 9 - (void)viewDidLoad {
10     [super viewDidLoad];
11     // Do any additional setup after loading the view, typically from a nib.
12     
13 }
14 
15 - (void)didReceiveMemoryWarning {
16     [super didReceiveMemoryWarning];
17     // Dispose of any resources that can be recreated.
18 }
19 
20 - (IBAction)helloButton:(UIButton *)senhder {
21     self.helloLable.frame = CGRectMake(10, 50, 300, 40);
22     self.helloLable.text = @"Hello World!";
23 }
24 @end

 

8. 修改AppDelegate.m 文件

在Xcode默认建立的AppDelegate.h文件中已存在如下代码:

1 #import <UIKit/UIKit.h>
2 
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4 
5 @property (strong, nonatomic) UIWindow *window;
6 
7 @end

Xcode默认为应用委托建立了window的属性,打开AppDlegate.m文件,引入ViewController.h

重写AppDlegate.m文件的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法

其余代码不做修改,代码以下

 1 #import "AppDelegate.h"
 2 #import "ViewController.h"
 3 @interface AppDelegate ()
 4 
 5 @end
 6 
 7 @implementation AppDelegate
 8 
 9 
10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
11     // Override point for customization after application launch.
12     //建立window
13     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
14     //建立ViewController实例
15     ViewController *viewController = [[ViewController alloc] initWithNibName:@"HelloWorldView" bundle:nil];
16     //设置window根视图控制器
17     self.window.rootViewController = viewController;
18     self.window.backgroundColor = [UIColor whiteColor];
19     [self.window makeKeyAndVisible];
20     return YES;
21 }

9. 运行程序

command+R

 

初学iOS不少内容不正确的,请批评指出,谢谢

相关文章
相关标签/搜索