XCODE4.6创建我的第一次ios规划:hello
对于非常多刚開始学习的人来说,肯定希望自己尝试不用傻瓜的“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的更多相关文章
- 创建了一个基于最短路径规划geoserver的wms服务
两点之间的文章书面请求随机最短路径sql功能,这篇文章是关于如何将上述到系统中的子功能. 1.geoserver登录 首先单击geoserver安装路径下的start Geoserver 待geose ...
- [Apple开发者帐户帮助]八、管理档案(2)创建临时配置文件(iOS,tvOS,watchOS)
创建临时配置文件以在设备上运行您的应用程序而无需Xcode.在开始之前,您需要一个App ID,一个分发证书和多个注册设备. 有关完整的临时配置文件工作流程,请转到Xcode帮助中的分发到已注册设备( ...
- windows创建p12格式的ios开发证书的流程
现在做ios开发,原生的开发已经不是第一选择,现在有很多不同的H5开发框架,在性能上都不输原生开发,而UI方便却能做得比原生更炫,比如CSS得灵活度肯定是比原生开发出来得应用更灵活的. 我们在开发IO ...
- 我的第一次windows规划
#include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; //WinMain功能被分配一 ...
- iOS开发——创建你自己的Framework
如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可 ...
- iOS静态库及Framework 创建
本文转自cocoachina,尊重作者的汗水. 讲述的非常透彻,有需要的朋友可以阅读实践.转载请注明出处 //=================以下留着备份==================// 在 ...
- iOS - 静态库的创建与使用
在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...
- iOS开发UI篇—控制器的创建
iOS开发UI篇—控制器的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中 ...
- iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用
iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用 前言 开发中经常使用三方库去实现某特定功能,而这些三方库通常又分为开源库和闭源库.开源库可以直接拿到源码,和自 ...
随机推荐
- AMDU恢复ASM磁盘组数据(測)
--umount ASMCMD> umoung -a asmdg commands: md_backup, md_restor lsattr, setattr ...
- hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)
HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包 ...
- xml publisher根据条件显示或隐藏列
xml publisher根据条件显示或隐藏列 <?if@column:condition? > -- <?end if?> 样例: 依据PROJECT_FLAG标签显示 ...
- WPF Delegate委托整理
那啥,是从这里整理出来的,感谢Rising_Sun,整理的过于简单,看不明白的戳这里 using System; using System.Collections.Generic; using Sys ...
- Quick StateMachine状态机
状态机quick中是一个亮点,假设我们做一款RPG游戏,一个角色通常会拥有idle,attack,walk.run,death这些状态,假设游戏角色的状态採用分支条件推断的话.会造成很庞大而难以维护. ...
- [改变自己wordpress.2]至wordpress再加上简单的debug sql调试.
或者说,同事. 需要帮助她打印出来sql 调试输出到页面sql 在这里,我们使用插件或一个的方式来启动配置文件wordpress的debug 在插件文件夹 wordpress/wp-content/p ...
- WPF 3D: MeshGeometry3D纹理坐标的正确定义
原文 WPF 3D: MeshGeometry3D纹理坐标的正确定义 为了使基于2D的纹理显示在3D对象中,我们必须定义3D Mesh对象的纹理贴图坐标.在WPF中,此项功能则通过MeshGeomet ...
- 基数排序---Java实现+C++实现
基数排序是基于桶排序实现的,总之基本思想是:先基于个位进行桶排序,更新原序列:再基于十位进行桶排序,更新原序列-- code1:java import java.util.*; public clas ...
- Codeforces Round #264 (Div. 2) C Gargari and Bishops 【暴力】
称号: 意甲冠军:给定一个矩阵,每格我们有一个数,然后把两个大象,我希望能够吃的对角线上的所有数字.我问两个最大的大象可以吃值. 分析:这种想法是暴力的主题,计算出每一格放象的话能得到多少钱,然后求出 ...
- ODAC配置
1.安装Oracle11g服务端 2.安装ODAC ODTwithODAC121012 3.拷贝Oracle11g服务端: F:\app\adccTest\pro ...