UIView如何管理它的子视图
UIView提供了很多建立和管理视图的方法。
1、添加视图
insertSubview:atIndex: //放在子视图数组的具体索引位置
insertSubview:aboveSubview: //某个子视图前面
insertSubview:aboveSubview: //某个子视图前面
2、重新排序和删除子视图
[parentView exchangeSubviewAtIndex:i withSubviewAtIndex:j]//交换两个视图的位置
bringSubviewToFront:和sendSubviewToBack://将子视图提前活置后
[childView removeSuperview]//删除某个视图的子视图
3、视图回调
某个视图的层次一改变,该视图就会收到一次回调。
a、调用addSubivew:成功后会给该视图发送didAddSubivew:回调,触发UIView的子类在心增视图时执行其他操作。
b、didMoveToSuperview:会通知相关视图他们的上级视图已经变化。
c、视图移动前会发出willMoveToSuperview:回调
d、didMoveToWindow:回调和didMoveToSuperview:相似,从命名上能看出其区别。
e、willMoveToWindow:在视图移动前发出的回调。
f、willRemoveToSubview:回调通知父视图子视图即将被删除
UIView掌管直接屏幕绘图。他的drawRect:方法提供一种低级方式来直接绘制内容,允许使用Quartz 2D调用创建和显示任意元素,可将这两个元素结合起来共同构建具体、可操作的界面。
当用户触摸屏幕时,Touchview类收集一系列点,在每个触摸移动之处,touchesMoved:WithEvent:方法调用setNeedsDisplay。这又会触发对drawRect:方法的调用,其中视图将这些点绘制成线段来创建一个可视屏幕路径。
UIView如何管理它的子视图的更多相关文章
- 【转】 UIView如何管理它的子视图
原文:http://my.oschina.net/u/1984662/blog/293690 目录[-] Core Animation基础 改变视图的层 动画支持 视图坐标系统 边框.边界.和中心的关 ...
- 动态添加子视图 UIView 的正确方法
很多时候哥比较喜欢用代码添加视图,特别是要同时加很多UIView时,而且跟 xib 比起来代码更容易管理,在多人的项目中代码不容易 conflict. 但小牛哥最近发现很多新人都不太清楚正确的使用方法 ...
- 【iOS开发】动态添加子视图 UIView 的正确方法
很多时候哥比较喜欢用代码添加视图,特别是要同时加很多UIView时,而且跟 xib 比起来代码更容易管理,在多人的项目中代码不容易 conflict. 但小牛哥最近发现很多新人都不太清楚正确的使用方法 ...
- UIView 添加子视图的常用方法
1. - (void)addSubview:(UIView *)view 这是最常用的方法有两个注意点 参数view可以是nil,运行不会报错,当然,父视图的subViews也不会增加. 此方法增加 ...
- iOS - 自己定义alertView,继承自UIView,能够加入子视图,标题图片+文字
这个更简单,能够看下demo https://github.com/DYLAN-LWB/WBAlertView 自己定义alertView,继承自UIView,能够在消息区域加入子视图:a ...
- iOS10 UI教程视图和子视图的可见性
iOS10 UI教程视图和子视图的可见性 iOS10 UI教程视图和子视图的可见性,一个父视图可以通过clipsToBounds属性,定义子视图在边界(边界就是父视图的框架也就是父视图可以显示的范围) ...
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
iOS10 UI教程子视图和父视图UI层次结构和Views继承 iOS10 UI教程子视图和父视图UI层次结构和Views继承,本节将讲解与UI层次结构和Views继承相关的内容,其中包括子视图和父视 ...
- 使用AppDelegate单例,解决子视图无法给父视图发送消息的问题
关于单例模式,我会在实验过后再开一个博客重点讲单例的使用,这里只是介绍我在PhotoForBingyan的照片滤镜的项目中使用AppDelegate单例的情况. 碰到的问题: 由于这个项目是个多视图的 ...
- iOS UITableViewCell点击时子视图背景透明的解决方法
在做iOS项目的开发中,UITableView控件的应用十分广泛.在进行自定义UITableViewCell时,经常遇到这样的问题:在UITableViewCell上面添加了一个有背景颜色的子视图,当 ...
随机推荐
- demo02TextView
main.xml----- /layout/activity_main.xml <RelativeLayout xmlns:android="http://schemas.androi ...
- Redis和Memcache对比及选择
没有必要过多的关注性能.由于Redis只使用单核,而Memcached可以使用多核, 所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高.而在100k以上的数据中,Mem ...
- fackbook的Fresco的Image Pipeline以及自身的缓存机制
fackbook的Fresco的Image Pipeline以及自身的缓存机制 配置之前.首先需要知道两点:一点是Bitmap缓存.一点是如果你仅仅需要一个缓存,那么不调用setSmallImageD ...
- paper 33 :[教程] 如何使用libsvm进行分类
文章来源:http://www.matlabsky.com/thread-12379-1-1.html 这篇文章的讲解的真的是言简意赅,很简单的例子就把这个入门的门槛降低了不少,目前的情况是,我都晓得 ...
- 11---Net基础加强
替换邮箱用户名部分: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- ralink网卡驱动的下载地址集合
linuxMT7612U11/7/2014v3.0.0.1http://cdn-cw.mediatek.com/Downloads/linux/MT7612U_DPO_LinuxSTA_3.0.0.1 ...
- yii2语言设置
1.父配置文件在yii2/base/Application中的$language="en-US", 修改项目的语言可以修改项目的配置文件main.php中加'language'=& ...
- BPM 应用系统开发案例实战
概述 IBM BPM 的前身是 Lombardi,是由 IBM 于 2009 年收购的产品,之后产品更名为 IBM WebSphere Lombardi Edition,目前最新版本称为 IBM BP ...
- VS2010 断点无效肿么办?
[1]分析原理: 1. 断点无效是因为目标文件和源文件的更新时间不一致, 编译器不认为当前的源文件是目标文件的当前版本. 2. IDE不会关心源文件的编码格式,能读入即可, 另存为Unicode或AS ...
- ueditor .NET版本提示uploader、Config类同时存在于两个dll中
在网上查看了下,主要有两种解决办法 1.直接删除,以下引用. <%@ Assembly Src="Uploader.cs" %><%@ Assembly Src= ...