UIView的属性和相关操作

2024-05-28 10:08
文章标签 操作 属性 相关 uiview

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

//创建window
self.window = [[UIWindow alloc]initWithFrame:[UISreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

初始化方法1:初始化的时候确定大小和位置
//初始化视图
UIView *grayView = [[UIView alloc] initWithFrame:CGRectMake(10,10,150,150)];
//配置背景色
grayView.backgroundColor = [UIColor grayColor];
//添加到父视图上
[self.window addSubview:grayView];
[grayView release];

UIView *blackView  = [[UIView alloc] initWithFrame:CGRect(80,100,80,80)];
//配置背景色
blackView.backgoundColor = [UIColor backColor];
//添加到父视图上
[self.winow addSubview:blackView];
[balckView release];

//frame:表示视图在其父视图坐标系的位置以及大小
//bounds:表示视图基于自身坐标的位置和大小,origin为0点,大小不变
//bounds即表示视图的大小(0,0,150,150)
//center:表示父视图坐标系的中心点位置

初始化视图方法2:直接初始化,再确定大小以及中心位置
UIView *grayView =[ [UIView alloc] init];
grayView.bounds = CGRectMake(0,0,150,150);
grayView.center = CGPoint(105,195);
grayView.backgroundColor = [UIColor whiteColor];
[self.window addSubview grayView];


//配置视图透明度,范围0.0 - 1.0,当为0时和隐藏的效果相同
//父视图的透明度直接影响到所有的子视图
grayView.alpha = 0.2;
//配置视图是否需要隐藏,默认为NO
grayView.hidden = YES;

子视图添加到子视图上
UIView *subView = [[UIView alloc] init];
subView.bounds = CGRectMake (0,0,50,50);
subView.center = CGPointMake(CGRectGetMidX(grayView.bounds),CGRectGetMidY(grayView.bounds));
subView.backgroundColor = [UIColor readColor];
[self.window addSubview subView];
[subView release];

视图层级:先添加显示的视图再视图层级的偏下位置,后添加显示的视图,在视图层级的偏上位置
subviews:NSArray类型,视图所管理的子视图集合,索引靠前的是先添加的,索引靠后的是后添加的
superview:UIView类型,只有一个父视图

视图层级操作
1.调整视图添加顺序
[_window addSubview:grayView];
[_window addSubview:blackView];
[blackView release];
[grayView release];
2.调整视图层级方法(父视图调用)
//交换视图层级  通过索引
[_window exchangeSubviewAtIndex:0 withSubviewAtIndex1];
//把视图提到最前
[_window bringSbuviewToFront:grayView];
//把视图提到最后
[_window sendSubviewToBack:blackView];
3.视图层级插入
[_window insertSubview:blackView atIndex:1];
4.视图移除
//子视图从父视图之上移除,引用计数-1
[blackView removeFromSuperview];

//标签,通过标签可以访问到指定的视图
//标签值不能重复,并且需要大于10,10以下是系统预定义的标签
//使用UIView实例方法,viewWithTag:里访问对应标签的范围
grayView.tag = 10;
//拿
//测试当程序失活时
UIView *grayView = [_window viewWithTag:10];
NSLog(@"%@",grayView);

这篇关于UIView的属性和相关操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Redis中管道操作pipeline的实现

《Redis中管道操作pipeline的实现》RedisPipeline是一种优化客户端与服务器通信的技术,通过批量发送和接收命令减少网络往返次数,提高命令执行效率,本文就来介绍一下Redis中管道操... 目录什么是pipeline场景一:我要向Redis新增大批量的数据分批处理事务( MULTI/EXE