XCODE4.6从零开始添加视图
转自:http://www.cnblogs.com/luoxs/archive/2012/09/23/2698995.html
对于很多初学者来说,肯定希望自己尝试不用傻瓜的“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.创建一个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,添加如下内容:
#import "myAppViewController.h"
和
@property (nonatomic,retain) myAppViewController *viewController;
如图:
7.打开WBAAppDelegate.m,添加如下3行,具体位置如图:
@synthesize viewController;
self.viewController = [[myAppViewController alloc] initWithNibName:@"myViewController"bundle:nil];
[self.windowaddSubview:viewController.view];
解释一下,添加的第二行为添加一个viewcontroller实例。这一句很重要,因为之前只是建立一个viewcontroller类,该行建立一个和xib文件关联的实例。添加的第三行向窗口添加控制器的视图。
8.运行,成功!
如果第3步没有选择包含xib,则需要在做完上述步骤后,再完成如下操作(BTW:如果已经选择了,又不想重做,可以删除xib文件)
9.添加User Interface 这次选View,如图:
10. 起一个名字,如myViewController,如图
11.你将添加一个xib文件myViewController.xib(当然还有一个View)。为了测试是否成功,在View中添加一个了Lable,如图:
12.当然这还不算成功,还未将Controller与View关联起来。
先选择这个xib的File's Owner图标,然后在其Identity Inspector中,将其基类由NSObject 改为 myViewController,这个类是你自己建立的了。如图:
13.按住Control键,拖动File's Owner图标到View图标上,在弹出的Outlet面板中,选中View为其输出口(Outlet)。
14.搞定!重新运行,显示Lable。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· 软件产品开发中常见的10个问题及处理方法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· MQ 如何保证数据一致性?
· 《HelloGitHub》第 108 期
2011-07-07 在局域网内查询其它电脑的IP地址