对于非常多刚開始学习的人来说,肯定希望自己尝试不用傻瓜的“Single View Application”模板创建一个含有View的窗体。而是希望能从零開始,先建一个空的框架。然后逐渐向里面加入View。但遗憾的是 XCODE4.6既没有在開始向导中包括4.0版本号的“Window-Based Application”选项,也没有直接加入UIViewController subclass模板的选项,所以在非常多之前的书籍中介绍的方法都不适用。让刚開始学习的人无所适从。事实上,在4.6版本号中创建从零開始的窗体更简单。

1.新建一个Empty Application.没有比这更能简化的版本号了。接下来的选项中Product Name命名为WindowBasedApp,Class Profix命名为WBA,例如以下图所看到的:

2.鼠标停在项目上,右键new file

创建一个View Controller。为此,先新建一个普通类。如图,选择Objective-C Class:

3.点击“Next”,在接着出现的界面中。将新类命名为myViewController。同一时候注意选取Subclass为ViewController,而不是NSObject。选中With XIB for user Interface。当然。假设你想更绝的,连xib也自己又一次建立。那也能够。后面将介绍方法。

4.如今。你的项目应该例如以下图所看到的。

注意,为了測试能否打开你的View,在view中增加了一个Label。

5.执行一下模拟器。其实。你会发现你加入的label并未出现。

6.打开WBAAppDelegate.h,加入例如以下内容:myAppViewController.h依据自己的命名文件来写。报错会有人性化的提示

#import "myAppViewController.h"

@property (nonatomic,retain)
 myAppViewController *viewController;

如图:

7.打开WBAAppDelegate.m,加入例如以下3行。详细位置如图:

@synthesize viewController;

self.viewController =
[[myAppViewController alloc]initWithNibName:@"myViewController"bundle:nil];

[self.window addSubview:viewController.view];

解释一下。加入的第二行为加入一个viewcontroller实例。这一句非常重要。由于之前仅仅是建立一个viewcontroller类。该行建立一个和xib文件关联的实例。

加入的第三行向窗体加入控制器的视图。

8.执行,成功!

 

假设第3步没有选择包括xib,则须要在做完上述步骤后,再完毕例如以下操作(BTW:假设已经选择了,又不想重做,能够删除xib文件)

9.加入User Interface 这次选View,如图:

10. 起一个名字,如myViewController,如图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWlhbnF1YW4wMDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

11.你将加入一个xib文件myViewController.xib(当然另一个View)。为了測试是否成功,在View中加入一个了Lable,如图:

12.当然这还不算成功。还未将Controller与View关联起来。

先选择这个xib的File's Owner图标,然后在其Identity Inspector中,将其基类由NSObject 改为 myViewController,这个类是你自己建立的了。如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWlhbnF1YW4wMDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

13.按住Control键,拖动File's Owner图标到View图标上,在弹出的Outlet面板中。选中View为其输出口(Outlet)。

14.搞定!

又一次执行,显示Lable。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWlhbnF1YW4wMDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

版权声明:本文博主原创文章,博客,未经同意不得转载。

XCODE4.6创建我的第一次ios规划:hello的更多相关文章

  1. 创建了一个基于最短路径规划geoserver的wms服务

    两点之间的文章书面请求随机最短路径sql功能,这篇文章是关于如何将上述到系统中的子功能. 1.geoserver登录 首先单击geoserver安装路径下的start Geoserver 待geose ...

  2. [Apple开发者帐户帮助]八、管理档案(2)创建临时配置文件(iOS,tvOS,watchOS)

    创建临时配置文件以在设备上运行您的应用程序而无需Xcode.在开始之前,您需要一个App ID,一个分发证书和多个注册设备. 有关完整的临时配置文件工作流程,请转到Xcode帮助中的分发到已注册设备( ...

  3. windows创建p12格式的ios开发证书的流程

    现在做ios开发,原生的开发已经不是第一选择,现在有很多不同的H5开发框架,在性能上都不输原生开发,而UI方便却能做得比原生更炫,比如CSS得灵活度肯定是比原生开发出来得应用更灵活的. 我们在开发IO ...

  4. 我的第一次windows规划

    #include <windows.h>   LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; //WinMain功能被分配一 ...

  5. iOS开发——创建你自己的Framework

    如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可 ...

  6. iOS静态库及Framework 创建

    本文转自cocoachina,尊重作者的汗水. 讲述的非常透彻,有需要的朋友可以阅读实践.转载请注明出处 //=================以下留着备份==================// 在 ...

  7. iOS - 静态库的创建与使用

    在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...

  8. iOS开发UI篇—控制器的创建

    iOS开发UI篇—控制器的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中 ...

  9. iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用

    iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用 前言 开发中经常使用三方库去实现某特定功能,而这些三方库通常又分为开源库和闭源库.开源库可以直接拿到源码,和自 ...

随机推荐

  1. 为什么推荐std::string而不是char*

    例如如下: map<const char*, const char*> map_test; map_test["a"] = "a"; map_tes ...

  2. Oracle基本流程语句

    ====1.IF语句==========

  3. mysql 利用触发器(Trigger)让代码更简单

    一,什么触发器 1,个人理解 触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了.你放炮仗,点燃了,一会就炸了. 2,官方定义 触发器 ...

  4. intellij idea该插件开发摘要

    最近在做一个intellij idea插件,功能是读取表和数据库信息字段和预先定义的模板来生成代码文件(实体,service,springmvc该controller,freemark文件等). 找了 ...

  5. 百度经纬度和google经纬度互转

    原文:百度经纬度和google经纬度互转 百度地图的坐标转换,由于百度地图在GCJ02协议的基础上又做了一次处理,变为 BD09协议的坐标,以下是坐标的转化方式,可以方便和其他平台转化 private ...

  6. python学习笔记之七:魔法方法,属性

    在python中,有的名称会在前面和后面加上两个下划线,由这些名字组成的集合所包含的方法称为魔法方法(或者是特殊方法).如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下(确切地说是根据名 ...

  7. uva297(quadtree)

    给我们两棵quadtree的前序遍历,要我吗求原来32*32的矩阵有多少个位置是黑的 quardtree是将区域划分为相等的4个子空间,然后再递归划分这4个子空间,知道满足条件后终止划分 这题的终止条 ...

  8. KVC该机制

    KVC该机制 KVC是cocoa的大招,用来间接获取或者改动对象属性的方式. 一.KVC的作用: KVC大招之中的一个: [self setValuesForKeysWithDictionary:di ...

  9. [置顶] 最优间隔分类器、原始/对偶问题、SVM的对偶问题——斯坦福ML公开课笔记7

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9774135 本篇笔记针对ML公开课的第七个视频,主要内容包括最优间隔分类器( ...

  10. Javascript 进阶 作用域 作用域链

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/25076713 一直觉得Js很强大,由于长期不写js代码,最近刚好温故温故. 1. ...