尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

IOS开发 - UIViewController 界面控制基类解析

IOS开发 - UIViewController 界面控制基类解析
📅 发布时间:2026/6/18 11:43:03

UIViewController 是什么

  • UIViewController 就是 iPhone 每个界面的“总管”,它负责这个界面怎么显示、怎么动、点按钮后干啥。

  • 类比解析:假设开一个演唱会

    演唱会元素 在 iOS 中对应
    舞台(观众能看到的地方) UIView(视图)
    导演(控制灯光、音效、流程) UIViewController(控制器)
    灯光、布景、屏幕 各种 UI 控件(按钮、文字、图片)
    • 观众看到的是 View(舞台),一切背后安排的,是 ViewController(导演)。

UIViewController 的含义

  • UIViewController 是 iOS 里所有界面的基类,每一个页面(比如“设置”“首页”“播放界面”)都是它的一个子类。

    @interface ViewController : UIViewController
    @end
    //这个 ViewController 是一个页面,它继承了系统提供的所有页面功能。
    

UIViewController 的作用

功能 说明
创建和管理界面 界面显示什么内容(文字、按钮、图片)
处理用户操作 点击、滑动、输入
页面跳转 进入下一个页面、返回上一个页面
生命周期管理 页面加载、显示、消失时执行特定逻辑
管理内存 页面销毁时清理资源

UIViewController 的结构

UIViewController└── self.view├── UILabel(文字)├── UIButton(按钮)├── UIImageView(图片)└── 其他子视图
// 你操作的所有控件(按钮、文本框、图片),其实都放在这个控制器的 view 里。

常见例子

@implementation ViewController// 视图控制器的生命周期方法:当视图被加载到内存中时调用一次
- (void)viewDidLoad {[super viewDidLoad]; // 一定要先调用父类的实现:让 UIViewController 做它自己的初始化工作NSLog(@"页面加载完成"); // 在控制台打印一条信息,调试时用来确认 viewDidLoad 被触发// 设置根视图的背景色为白色(默认是透黑或系统色)self.view.backgroundColor = [UIColor whiteColor];// 创建一个系统风格的按钮(UIButtonTypeSystem)UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];// 设置按钮在父视图中的位置和大小:x=100 y=100 宽120 高40btn.frame = CGRectMake(100, 100, 120, 40);// 设置按钮在普通状态下显示的文字[btn setTitle:@"点我跳转" forState:UIControlStateNormal];// 给按钮添加事件:当用户触摸并抬起(TouchUpInside)时,调用当前对象的 goNext 方法[btn addTarget:self action:@selector(goNext) forControlEvents:UIControlEventTouchUpInside];// 把按钮加入到当前控制器的根视图上,这样才能显示[self.view addSubview:btn];
}// 自定义方法:响应按钮事件,负责“切换场景 / 打开新界面”
- (void)goNext {// 创建一个新的 UIViewController 实例,作为要展示的下一个页面// 这里的 UIViewController 类似创建一个新的画布UIViewController *nextVC = [[UIViewController alloc] init];// 设置新页面的背景颜色为橙色,便于区分当前页面和新页面nextVC.view.backgroundColor = [UIColor orangeColor];// 以模态方式弹出 nextVC(默认表现依 iOS 版本不同可能是卡片或全屏)// animated:YES 表示带动画,completion:nil 表示动画完成后不额外执行代码[self presentViewController:nextVC animated:YES completion:nil];
}@end

与其他控制器类的关系

控制器 作用
UIViewController 最基础的控制器(所有页面的爸爸)
UINavigationController 管理页面跳转(push/pop)
UITabBarController 底部切换(主页/设置/我的)
UITableViewController 列表页面

总结

比喻 真实意义
🎬 导演 控制整个页面的逻辑
🎨 舞台 UIView(用户能看到的部分)
🎭 演员 按钮、文字、图片等控件
🔄 换场 页面切换、跳转
  • UIViewController 可以说是一个页面的大脑,没有它,界面就只是死的画布。

相关新闻

  • CSP-S模拟31
  • 实用指南:【53道前端必考】JavaScript 基础面试题
  • 拼接字符串要求字典序最小

最新新闻

  • 5个技巧让SmartSystemMenu成为你的Windows窗口管理神器![特殊字符]
  • windows10/11安装scoop
  • 新加坡2026八家优选留学机构全面测评,本地化哪家性价比更高? - 资讯速览
  • PC无法读取SD卡并提示格式化的修复方法
  • 39钝刀工艺:让篆刻白文重现金石苍劲之美 - 资讯焦点
  • 2026年投票制作平台怎么选 五家服务商横向对比供参考 - 深度智识库

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号