Xcode4.3实现多视图转换
最近读书上的例子,发现例子有点老,xcode发生了变化,所以写一篇视图切换的帖子,给自己做个参考.
话不多说,让我们开始把!
实现思路:
这里我们实现两个视图之间的切换.
1. 我们需要两个视图(xib文件 - FirstView.xib SecondView.xib)
2. 我们需要三个视图控制类FirstViewController, SecondViewController, SwitchViewController
这里我们为什么需要三个视图控制类呢?
FirstView -- FirstViewController
SecondView -- SecondViewController
SwitchViewController -- 转换 -- [ FirstView < - - > SencondView ]
代码实现:
一. 搭建项目 ---
1. 打开xcode File -- > New... --> project -- >
选择 Empty Application (xcode 3 是 Window-base Application).
然后点击下一步,为project起个名字,为changeViewTest
这里这三个不要选.
到这里,我们的项目初步就搭建好了.
---------- 二. 创造视图与视图类 --------
1.在项目包下,右键 --- new --- New File --- 左面选择User interface
选View
2. 下一步,在Device Family 选在iphone
3. 下一步,起名叫FirstView
生成的FirstView.xib就是相应的文件了
接下来我们用同样的方法,创建SecondView.xib;
4. 在每 *View.xib里添加控件,我这里分别为两个view添加一个button,label控件. 如图.
5. 现在我们们对应FirstView.xib和SecondView.xib分别创建视图类FirstViewController和SecondViewController.
6. 创建FirstViewController类继承自UIViewController.
创建SecondViewController类继承自UIViewController.
7. 创建完之后如图:
8. 把视图与视图类关联起来.
[FirstView – FirstViewController ]
9. 把视图与视图类关联起来.
选择FirstView.xib,然后选择File’s Owner,然后在属性选择器里,把Custom Class写成FirstViewController. 如图:
10. 把当前的视图的View与outlets关联.
左键点击view拉直线
完事后,我们就把视图和视图类关联到一起了.
11.添加控制ViewController的类:SwitchViewController
在控制类SwitchViewController添加代码,实现对2个视图的跳转。
说明: initView 方法用来程序加载时初始化view,showFirstView方法用来显示第一个view,showSecondView用来显示第二view
接下图:
--------- 三. 委托类,激活SwitchViewController的控制功能 --------
1.选中AppDelegate.h. 添加代码如下:
2. 接下来在AppDelegate.m中实现:
+ (AppDelegate *) App {
return (AppDelegate *) [[UIApplication sharedApplication] delegate];
}
3. 把swicthViewnController设置为window的rootViewController,以便操作视图.
----- 最后,实现FirstViewController与SecondViewController的视图切换 ----
1. 在FirstViewController中添加IBAction,实现按钮的切换动作,如下:
- (IBAction) buttonClick: (id) sender {
[[AppDelegate App].switchViewController showSecondView];
}
2. 在SecondViewController中添加IBAction,实现按钮的切换动作,如下:
(前提是你要把AppDelegate导入到项目中)
最后: 运行程序如图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库