UI视图控件、视图嵌套、SubView、Tag 的使用
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
self.window = [[UIWindow alloc]initWithFrame:[UIScreenmainScreen].bounds];
ViewController * vc =[[ViewController alloc]init];
self.window.rootViewController = vc;
self.window.backgroundColor = [UIColor grayColor];
// makeKeyAndVisible:让窗口是主窗口,并且显示在屏幕上
[self.window makeKeyAndVisible];
//创建view1 绿色
UIView *view1 = [[UIViewalloc]initWithFrame:CGRectMake(100,200, 200,200)];
view1.backgroundColor = [UIColor greenColor];
[self.window addSubview:view1];
//创建view2 橙色
UIView *view2 = [[UIViewalloc]initWithFrame:CGRectMake(50,300, 300, 200)];
view2.backgroundColor = [UIColor orangeColor];
[self.window addSubview:view2];
//由于view2是后创建,所以系统默认为view2覆盖在view1上面


// 在同一个父视图中
// 1、view1 移动到最上面(即移动到view2上面)
// [self.window bringSubviewToFront:view1];
// 2、把一个视图移动到底下
// 把view2移动到下一层
// [self.window sendSubviewToBack:view2];
// 3、交换两个视图的位置
// -(void)exchangeSubviewAtIndex:(NSInteger)index1withSubviewAtIndex:(NSInteger)index2;
// subviews(所有子视图组成的数组)->
// self.window subviews
// NSLog(@"%@",self.window.subviews);
// 初始化视图的顺序就是把视图存放到subviews这个数组里面的顺序
// 改变视图的位置 就是改变subviews 数组里面元素的位置(这里是指 交换位置)
// UIView * view = self.window.subviews[2];
// NSLog(@"%@",view);
//
// [self.window exchangeSubviewAtIndex:2withSubviewAtIndex:1];
//--------------插入一个新视图,并调整他的位置----
// UIView * insertView = [[UIViewalloc]initWithFrame:CGRectMake(80,250,80,80)];
// insertView.backgroundColor = [UIColor grayColor];
// [self.window addSubview:insertView];
// (1) 插入一个视图insertView到另一个视图view1的上面
// [self.window insertSubview:insertView aboveSubview:view1];

// (2) 插入一个视图insertView到另一个视图view2的上面
[self.window insertSubview:insertView aboveSubview:view2];

// (3) 插入到哪一个视图的底下
// [self.window insertSubview:insertView belowSubview:view1];

-------------------Tag---------------------
// bag:标记 标签 标号 ->又相当于同一个父视图里面的身份证号
insertView.tag = 100;//给上文中已出现的视图insertView赋tag值为100
// 可以通过tag值 在他的父视图上找到这个视图
// viewWithTag:在一个父视图上面查找有木有tag值是多少的视图
UIView *v= [self.window viewWithTag:100];
// v 就是insertView
v.backgroundColor = [UIColor redColor];
// 显示tag值为100的视图的透明度
NSLog(@"%f",v.alpha);
// 移除视图
// [v removeFromSuperview];
UI视图控件、视图嵌套、SubView、Tag 的使用的更多相关文章
- iOS:UITableView表格视图控件
UITableView:表格视图控件,继承滚动视图控件UIScrollView,(类似于UIPickerView选择器,它主要通过设置数据源代理和行为代理实现协议来设置单元格) 对表格的操作主要 ...
- C#:将空间数据加载到树视图控件
自己 整理了 下 代码 测试了下 还行... #region 操作树视图控件 /// <summary> /// 自定义需要的类型 /// </summary> enum Da ...
- Android视图控件架构分析之View、ViewGroup
在Android中,视图控件大致被分为两类,即ViewGroup和View,ViewGroup控件作为父控件,包含并管理着子View,通过ViewGroup和View便形成了控件树,各个ViewGou ...
- iOS:UIImageView图像视图控件
UIImageView:图像视图控件: 它是UIView的子类,因此也是视图控件,可以用来显示图像.因为它具有帧动画属性和操作方法,因此可以用来制作动画,其实动画就是很短的时间内,执行显示连续的 ...
- VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)
上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义.本节继续讲解下半部分,包括列表视图控件的创建.CListCtrl类的主要成员函数 ...
- VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)
前面一节中,鸡啄米讲了图片控件Picture Control,本节为大家详解列表视图控件List Control的使用. 列表视图控件简介 列表视图控件List Control同样比较常见, ...
- iOS:风火轮活动刷新视图控件UIActivityIndicatorView的详细使用
动态风火轮视图控件:UIActivityIndicatorView 介绍:它是一种类似于风火轮旋转的视图控件,可用作刷新数据时显示加载过程所用,继承自UIView. 类型: typedef N ...
- iOS:文本视图控件UITextView的详细使用
文本视图控件:UITextView 介绍:它是一个文本域的编辑视图,可以在该区域上进行编辑(包括删除.剪贴.复制.修改等),它与文本框UITextField的不同之处是:当它里面的每一行内容超出时,可 ...
- iOS:网页视图控件UIWebView的详解
网页视图控件:UIWebView 功能:它是继承于UIView的,是一个内置的浏览器控件,以用来浏览从网络下载下来的网页或者本地上加载下来的文档. 枚举: //网页视图导航类型 typedef NS_ ...
- win32 sdk列表视图控件(ListCtrl或ListView)资料整理
列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表控件可以由多个子项目组成,可以设置为Icon ...
随机推荐
- 2019年Java面试题基础系列228道(2)
21.描述一下 JVM 加载 class 文件的原理机制? JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的 Java 运行时系统组件,它 ...
- Unity Ruby's Adventure 第一步
官方游戏教程:https://learn.unity.com/project/ruby-s-2d-rpg?language=en 鲁比大冒险是一个2D游戏入门教程,涉及动画,特效,UI,瓦片地图,音效 ...
- js的动态表格的增删改查思路
1. 首先我们要知道,动态添加,肯定不是 在页面上写死得,而是通过js调用循环放入到页面上的,我们在写动态表格的时候不要先着急写,我们第一步要做的就是构思,要把自己的逻辑先弄清楚,不然的话,前面是好写 ...
- IDEA的Maven设置阿里镜像
作为一名.net开发学习java,虽然学习起来没啥难度,但是各种配置实在让人头大. 下面就简单记录下IDEA的Maven设置阿里镜像 进入开发软件的这个设置 点击进入 如图所示 第一个是你安装mave ...
- Dynamics 365需要的最小的权限用来更改用户的业务部门和角色
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 华为2019年NE40E-X8,承诺命令
commit每敲一行命令,都得确认一下.以防误操作.
- Cocos2d-x游戏实例《忍者飞镖》之对象管理
推荐移步至<忍者飞镖射幽灵>之对象管理阅读 配置环境:win7+Cocos2d-x.2.0.3+VS2012 目标读者:需了解游戏帧率以及回调函数的概念 一.引言 对具体游戏demo的分析 ...
- 给定数轴上的n个点,求距离最近的两个点的距离
public class MinimumSpacing { //给定平面上的n个点,求距离最近的两个点的距离. //无从下手的话,先分解问题,分解成简单的,逐个分析,然后再合在一起考虑 //这是个2维 ...
- faster-rcnn训练自己数据+测试
准备使用faster-rcnn进行检测实验.同时笔者也做了mask-rcnn,yolo-v3,ssd的实验,并进行对比. window下使用faster-rcnn https://blog.csdn ...
- if(response.isSuccess){}else{}的方式,如果我们由于忽略没有设置success字段的值,就可能导致
在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提供一个RPC接口的时候,我们一般会定义一个字段表示本次请求是否成功的. 关于这个”本次请求是否成功”的字段的定义,其实是有很多种讲 ...