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

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

C# 读写ini文件操作实现

《C#读写ini文件操作实现》本文主要介绍了C#读写ini文件操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、INI文件结构二、读取INI文件中的数据在C#应用程序中,常将INI文件作为配置文件,用于存储应用程序的

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

java Stream操作转换方法

《javaStream操作转换方法》文章总结了Java8中流(Stream)API的多种常用方法,包括创建流、过滤、遍历、分组、排序、去重、查找、匹配、转换、归约、打印日志、最大最小值、统计、连接、... 目录流创建1、list 转 map2、filter()过滤3、foreach遍历4、groupingB