【ViewUI】基础学习记录_view ui 使用-程序员宅基地

技术标签: 学习  ios  view design  

新建一个项目,由于xcode版本更新,新构建的代码目录发生改变,多出了一个屏幕生命周期类(应该是这个意思吧,我猜的)在这里插入图片描述

SceneDelegate.m

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
    
    // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
    // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
    // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
   
    //背景 父视图
    UIWindowScene *windowScene = (UIWindowScene *)scene;
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window = [[UIWindow alloc] initWithWindowScene:windowScene];
    [self.window setWindowScene:windowScene];
    [self.window setBackgroundColor:[UIColor yellowColor]];
    [self.window setRootViewController:[UITabBarController new]];
    
    //背景上的小方块 子视图
    [self.window makeKeyAndVisible];
    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    view.backgroundColor = [UIColor colorWithRed:1 green:34/255 blue:90/255 alpha:0.5];
    [self.window addSubview:view]; //添加子视图
}

在AppDelegate.m中对兼容版本做了配置,如果是ios13和之前的版本要在AppDelegate.m中实现,AppDelegate.m加入以下代码。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    // Override point for customization after application launch.
    
    if (@available(iOS 13.0, *)) {
    
    
       } else {
    
         
           self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
           self.window.rootViewController = [[UITabBarController alloc]init];
           self.window.backgroundColor = [UIColor redColor];
           [self.window makeKeyAndVisible];
       }
    return YES;
}

注意,如果在Appdelegate.m中使用UIwindow,但不在Appdelegate.h中声明UIwindow属性,会出现一个报错 :"-[AppDelegate setWindow:]: unrecognized selector sent to instance 0x6000002。

因此需在Appdelegate.h中声明一下。

@property (nonatomic, strong) UIWindow * window;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44396097/article/details/125801668

智能推荐

python算法详解pdf百度云,python算法详解电子版-程序员宅基地

文章浏览阅读748次,点赞25次,收藏20次。最小生成树(MST):在包含 n个顶点的带权无向连通图中, 找出(n-1)条边的最小耗费生成树(权值最小)带权图:边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。最小生成树的性质:假设G=(V,E)是一个连通网,U是顶点V的一个非空子集。若(u,v)是一条具有最小权值的边,其中u∈U,v∈V-U,则必存在一棵包含边(u,v)的最小生成树。完成构造网的最小生成树必须解决下面两个问题:(1)尽可能选取权值小的边,但不能构成回路;_python算法详解电子版

用CSS实现一个三角形_前端 css写一个三角形-程序员宅基地

文章浏览阅读233次。废话不多说,直接上例子div{width: 0;height: 0;border-top: 100px solid black;border-bottom: 100px solid red;border-left: 100px solid #008c8c;border-right: 100px solid yellow;}<div></div>效果如下..._前端 css写一个三角形

Unity工具菜单翻译(二)_unity鼠标点击的翻译-程序员宅基地

文章浏览阅读1.2k次。File(文件) New Scene 新建场景 :创建一个新的游戏场景 Open Scene 打开场景 :打开一个游戏场景 Save Scene 保存场景 :保存一个游戏场景 Save Scene as 场景另存为:游戏场景另存为 New Project 新建工程文件:创建一个新的工程文件 Open Project 打开工程文件 :打开一个工程文件_unity鼠标点击的翻译

在think-cell数据表中,“撤消” (Ctrl+Z) 操作无效,怎么解决?_表格的ctrl+z没反应是什么-程序员宅基地

文章浏览阅读270次。解决方案您随时可以撤消 PowerPoint 中的更改。关闭数据表以返回到 PowerPoint,然后单击快速访问工具栏上的撤消按钮(或按 Ctrl+Z )。幻灯片上的图表将还原为先前的状态,并相应撤消图表的数据表中的更改。说明think-cell 的数据表是 Excel 表格。您更改某些数据后,在 PowerPoint 幻灯片更新时会保存该数据表。遗憾的是,Excel 会在保存时放弃其撤消缓冲区。若直接使用 Excel,在保存工作簿后,也会出现该行为。..._表格的ctrl+z没反应是什么

Qt实现右键菜单的五种方法!(以QListWidget为例)_qt右键菜单-程序员宅基地

文章浏览阅读2.7w次,点赞36次,收藏150次。学习了Qt很久,下面总结了5种实现右键菜单的方法(以QListWidget为例): 下面5种方法选其一即可.当然越简单越好啦! 1.重写QListWidget的virtual void mousePressEvent(QMouseEvent *event);鼠标点击函数. 2.重写QListWidget的virtual void contextMenuEvent(QContextMenuEv..._qt右键菜单

Autonomous Driving System Engineer_autonomous driving csdn-程序员宅基地

文章浏览阅读395次。Location: ShanghaiNVIDIA is hiring System Engineers for its Autonomous Vehicle teams. As a member of our team you will be responsible for developing and maintaining software to drive the car, given _autonomous driving csdn

随便推点

银行营业网点管理系统——dao包(BranchesDao)-程序员宅基地

文章浏览阅读579次。package BranchesMgr.dao;import java.util.List;import BranchesMgr.entity.Branches;/** * 网点信息表的借口 * @author Administrator * */public interface BranchesDao { //查询所有网点信息 List&lt;Branches&gt; ..._银行管理系统dao模式

A new Nova service: nova-conductor_timed out waiting for nova-conductor. is it runnin-程序员宅基地

文章浏览阅读735次。Come from: http://russellbryantnet.wordpress.com/2012/11/19/a-new-nova-service-nova-conductor/The Grizzly release of OpenStack Nova will have a new service, nova-conductor. The service was dis_timed out waiting for nova-conductor. is it running? or did this service sta

设计考勤打卡的心得体会_125k 打卡-程序员宅基地

文章浏览阅读3.8k次。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在今年8-10份,独自一个人担任促销管理系统的考勤系统的开发。从需求理解、到表设计、到API接口的输出,bug的修复到最后的完工。今天停下脚步总结一下。在整个过程中,给我最深刻的时最开始的表设计。考勤打卡每个企业个性化比较强,我的这个项目是促销人员使用的考勤打卡系统,模式:班次–排版-考勤。 每个人各不相同,不具备使用考勤组的。一个促销人员一天..._125k 打卡

IE10和IE9兼容性常见问题解答(FAQ)_compatibility view settings在哪里-程序员宅基地

文章浏览阅读1.8k次。本文档介绍了诊断和解决与IE10和IE9的文档兼容性有关的具体问题的一系列过程。1. 我们在本文档中提到“ IE10和IE9”时有什么意义?以前版本的IE都不是符合标准的。从IE9发布起,微软开始遵守HTML5 (工作草案)、W3C 层级样式表第3级规范(工作草案)、Scalable Vector Graphics (SVG) 1.0规范以及其他标准。“IE10和IE9”这个术语指_compatibility view settings在哪里

2023年全国职业院校技能大赛-信息安全管理与评估-赛题 1_计算机全国职业院校技能大赛-程序员宅基地

文章浏览阅读1.1k次,点赞23次,收藏23次。竞赛有固定的开始和结束时间,参赛队伍必须决定如何有效的分配时间。请认真阅读以下指引!(1)当竞赛结束,离开时请不要关机;(2)所有配置应当在重启后有效;(3)请不要修改实体机的配置和虚拟机本身的硬件设置。_计算机全国职业院校技能大赛

Android进阶 View事件体系(三):典型的滑动冲突情况和解决策略_android 滑动冲突-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏15次。本篇文章为总结View事件体系的第三篇文章,前两篇文章的在这里:* [Android进阶 View事件体系(一):概要介绍和实现View的滑动](https://blog.csdn.net/Tai_Monster/article/details/130830213?spm=1001.2014.3001.5501)* [Android进阶 View事件体系(二):从源码解析View的事件分发](https://blog.csdn.net/Tai_Monster/article/details/130871_android 滑动冲突

推荐文章

热门文章

相关标签