UI- UIWindow UIView

2023-10-25 04:18
文章标签 ui uiview uiwindow

本文主要是介绍UI- UIWindow UIView,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是UIWindow

1.管理和协调应用程序的显示
2.UIWindow类是UIView的子类,可以看作是特殊的UIView
3.一般应用程序只有一个UIWindow对象。

UIWidow对象有两种方式创建:
1.Xcode 5之前工程中有EmptyApplication模板,需要代码创 建UIWindow对象。
2.从Xcode 6开始苹果取消EmptyApplication模板,通常使 用SingleViewApplication模板,使用StoryBoard自动创建 UIWindow对象,不需要使用代码。
  下面开始用代码创建UIWIndow:
 _window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];  //创建一个windows,并使其铺满屏幕[_window setBackgroundColor:[UIColor redColor]];[_window setBackgroundColor:[UIColor colorWithRed:28/255. green:173/255. blue:253/255. alpha:1.]];

   创建一个视图控制器ViewController *view = [[ViewController alloc]init];//绘制window的根视图控制器[_window setRootViewController:view];//使window显示[_window makeKeyAndVisible];创建控件View:
    第一步,申请内存空间并初始化UIView *view1 = [[UIView alloc]init];第二步,设置坐标大小[view1 setFrame:CGRectMake(0, 0, 200, 200)];第三步,设置控件属性[view1 setBackgroundColor:[UIColor redColor]];
    Center实现方法:[view1 setCenter:self.window.center];
//中心点,求出高再/2, 求出宽再/2//[view1 setCenter:CGPointMake([UIScreen mainScreen].bounds.size.width / 2, [UIScreen mainScreen].bounds.size.height /2)];
   Ta'g实现方法:[view1 setTag:1];第四步,添加子视图[self.window addSubview:view1];[view1 release];NSLog(@"%@",view1.superview);NSLog(@"%@",self.window.subviews); //获取所有子视图在指定的视图下面添加子视图UIView *newView = [self.window viewWithTag:1];[newView setBackgroundColor:[UIColor magentaColor]];
  添加子视图UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
[view2 setBackgroundColor:[UIColor yellowColor]];[self.window addSubview:view2];UIView *view3 = [[UIView alloc]initWithFrame:CGRectMake(200, 200, 200, 200)];[view3 setBackgroundColor:[UIColor greenColor]];[self.window addSubview:view3]; 在指定的index处插入子视图UIView *view4 = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];[view4 setBackgroundColor:[UIColor cyanColor]];[self.window insertSubview:view4 atIndex:2];在指定的视图上面添加子视图UIView *view5 = [[UIView alloc]initWithFrame:CGRectMake(150, 150, 200, 200)];[view5 setBackgroundColor:[UIColor redColor]];[self.window insertSubview:view5 aboveSubview:view2];把指定的子视图移动到最前面(层次变动,位置不变)[self.window bringSubviewToFront:view2];把指定的子视图移动到最后面[self.window sendSubviewToBack:view2];交换两个指定索引位置的子视图[self.window exchangeSubviewAtIndex:1 withSubviewAtIndex:2];把子视图从父视图上移除[view2 removeFromSuperview];


这篇关于UI- UIWindow UIView的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279965

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

移动UI:分类列表页、筛选页的设计揭秘。

移动UI的列表页设计需要考虑用户体验和界面美观性,以下是一些建议的设计要点: 1. 列表项的展示: 列表页应该清晰地展示各个列表项,包括标题、副标题、缩略图等内容,以便用户快速浏览和识别。可以使用卡片式布局或者简洁的列表布局。 2. 搜索和筛选: 如果列表项较多,应该提供搜索和筛选功能,方便用户查找感兴趣的内容。搜索框和筛选条件可以放置在页面顶部或者底部,以便用户方便操作。

UI自动化测试常见面试题

1、什么是UI自动化测试? UI自动化测试是一种通过模拟用户交互并自动执行UI操作的软件测试方法。它用于验证用户界面的功能和稳定性,以确保在不同的操作系统、浏览器和设备上的一致性。 2、UI自动化测试的优势和劣势是什么? 优势: 可以节省时间和成本,提高测试效率。 可以自动执行大量的重复测试任务,减少人为错误。 可以实现广泛的测试覆盖,包括不同的操作系统、浏览器和设备。 可以提供稳定

element-ui打包之后图标不显示,woff、ttf加载404

1、bug 起因 昨天在 vue 项目中编写 element-ui 的树形结构的表格,发现项目中无法生效,定位问题之后发现项目使用的 element-ui 的版本是 2.4.11 。看了官方最新版本是 2.15.14,然后得知 2.4.11 版本是不支持表格树形结构的。于是决定升级 element-ui 的版本,方便后续的开发。 升级之后本地简单的过了一遍系统功能,并没有发现有什么不妥,于

Unity(2022.3.41LTS) - UI详细介绍- Toggle(切换)

目录 零.简介 一、基本功能 二、属性和设置 三、使用方法 四、优化和注意事项 零.简介 在 Unity 中,Toggle 是一种常用的 UI 组件,用于表示一个布尔值的状态,类似于复选框。 一、基本功能 状态切换:Toggle 有两种状态,即选中和未选中。用户可以通过点击 Toggle 来切换其状态。关联变量:可以将 Toggle 的状态与一个布尔变量关联起来,以便

Figma如何给设计的UI套样机

一、设计自己的UI 首先绘制自己的ui,根据自己的需求绘制: 二、在社区搜索需要适配的样机 1、打开社区网站 Figma社区 2、搜索样机 我们一iPhone 11为例: 3、用Figma打开样机 4、找到Place screen here这儿 三、将自己设计的UI适配过去 将自己的UI复制粘贴到Place screen here这儿就OK。 四、效果查看

UI 自动化技能:20个实战技巧!测试工程师必看!

大家周五 好啊!忙碌了一周,又可以懒洋洋躺在沙发上了~~~ 又到了每年的金九银十了,今天聊聊如何提升UI自动化话题... 你是否在求职过程中感受到UI自动化的技能不足? 随着测试行业的发展,UI自动化测试已成为每位测试工程师的必修课。无论你是想提升现有的测试效率,还是在找工作中获得竞争优势,掌握UI自动化技能都能为你带来巨大的帮助。那么,如何快速提升这些技能呢? UI(用户界面)自

深入解析五大 LLM 可视化工具:Langflow、Flowise、Dify、AutoGPT UI 和 AgentGPT

近年来,大语言模型(LLM)技术的迅猛发展推动了智能代理(Agent)应用的广泛应用。从任务自动化到智能对话系统,LLM 代理可以极大简化复杂任务的执行。为了帮助开发者更快地构建和部署这些智能代理,多个开源工具应运而生,尤其是那些提供可视化界面的工具,让开发者通过简单的图形界面设计、调试和管理智能代理。 本文将详细介绍五款热门的 LLM 可视化工具,分别是 Langflow、Flowise、Di

Unity(2022.3.41LTS) - UI详细介绍- Panel(面板)和RectTransform组件

目录 零. 简介 一、功能与作用 二、属性与设置 三、使用方法 四、优化和注意事项 五.面板总结 六. RectTransform A、主要属性 B、布局控制 C、代码控制 D.实例 控制对象靠近底部 对象紧贴底部 零. 简介 在 Unity 中,Panel(面板)是一种常用的 UI 容器组件,用于组织和管理其他 UI 元素。 一、功能与作用 容器