UI基础 - 模态视图
▶ ModalView
1 - 模态视图不是专门的某个类,而是通过视图控制器的 presentViewController方法 弹出的视图,我们称为模态视图。模态视图出现的场景一般是临时弹出的窗口,譬如:登录窗口开发中在当前视图上再弹出一个视图、分享视图、注册等等
2 - 代码示例:由 ViewController 推出模态控制器 DetailController
// - ViewController.m
1 #import "ViewController.h" 2 #import "DetailController.h" 3 4 @implementation ViewController 5 6 - (void)viewDidLoad { 7 [super viewDidLoad]; 8 self.view.backgroundColor = [UIColor whiteColor]; 9 self.navigationController.navigationBar.hidden = YES; 10 11 // Btn 12 UIButton *pushBT = [UIButton buttonWithType:UIButtonTypeCustom]; 13 pushBT.frame = CGRectMake(50, 80, 220, 45); 14 [pushBT setTitle:@"进入下级页面" forState:UIControlStateNormal]; 15 pushBT.backgroundColor = [UIColor brownColor]; 16 [pushBT addTarget:self action:@selector(showNewController) forControlEvents:UIControlEventTouchUpInside]; 17 [self.view addSubview:pushBT]; 18 19 } 20 21 -(void)showNewController{ 22 23 DetailController *newVC = [DetailController new]; 24 newVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;// 过渡样式 25 newVC.modalPresentationStyle = UIModalPresentationFullScreen; // 展示样式 26 [self presentViewController:newVC animated:YES completion:^{ 27 NSLog(@"present finished!"); 28 }]; 29 30 } 31 32 @end
// - DetailController.m
1 #import "DetailController.h" 2 @implementation DetailController 3 4 - (void)viewDidLoad { 5 [super viewDidLoad]; 6 self.view.backgroundColor = [UIColor orangeColor]; 7 // Btn 8 UIButton *backBT = [UIButton buttonWithType:UIButtonTypeCustom]; 9 backBT.frame = CGRectMake(50, 80, 220, 45); 10 [backBT setTitle:@"返回上级页面" forState:UIControlStateNormal]; 11 backBT.backgroundColor = [UIColor brownColor]; 12 [backBT addTarget:self action:@selector(backPreController) forControlEvents:UIControlEventTouchUpInside]; 13 [self.view addSubview:backBT]; 14 } 15 16 17 -(void)backPreController{ 18 // 撤销模态 19 // 方式一 20 [self dismissViewControllerAnimated:YES completion:^{ 21 NSLog(@"back finished!"); 22 }]; 23 24 // 方式二:前提是模态试图是导航栏控制器的根视图 25 [self.navigationController dismissViewControllerAnimated:YES completion:^{ 26 27 }]; 28 29 } 30 @end
分类:
UI章节
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律