UIView中视图关系分析以及视图跳转动画的使用
来源:互联网 发布:淘宝头条写手招聘 编辑:程序博客网 时间:2024/06/06 11:36
exchangeSubviewAtIndex:withSubviewAtIndex: 首先必须的先看看官方文档,
Exchanges the subviews at the specified indices.结合着方法调用时需要传递
的参数可以这样很准确的翻译,在指定一个子view集合中,交换两个子view。
再看一下UIView的声明,NSArray *subviews;这样就不难理解了,对于UIView
就像一个大容器,里面可以承载很多东西,你可以通过addSubview方法向UIView
中添加子View(子View也可以是UIView),当然可以覆盖(后添加上来的视图盖
在先添加的视图上面),而大容器UIView对象就会把你添加进来的子view统一存放
在subviews里面进行管理,而子view也具有自己的索引index,IOS中索引也是从0
开始,第一个添加进来的view是index = 0;以后按照顺序逐渐增加。这样一想,对
于IOS开发中的视图关系一下子就清楚了。这样再去看
exchangeSubviewAtIndex:withSubviewAtIndex方法就变得好理解多了。
那么很多人使用exchangeSubviewAtIndex:withSubviewAtIndex方法是进
行视图跳转的,其实从上面分析的结果来看也很是简单了,在一个UIView
中添加视图1、视图2、视图3,当前显示的是视图3,向要跳转到视图1,
只需要调用方法,把视图1的索引和视图3的索引传入到方法中就可以完
成视图的跳转了。
有人会问了,子view的索引怎么得到,我在浏览帖子的时候发现有人说得
不到,卧槽,子view都是统一在subviews里面管理的怎么可能得不到呢。
得到的方法很简单,subviews是NSArray对象,NSArray对象里有个方法
indexOfObject,把你想要得到索引的子view对象传过去就可以得到这个
view的索引了。子view视图怎么得到,定义成全局是一种方法,也可以
通过tag得到视图(UIView中的一个方法 viewWithTag,这个方法类似于
Android中的findViewByI'd),当然事先你得为子view设置tag了。
exchangeSubviewAtIndex:withSubviewAtIndex方法是完成视图跳转的没错
,其实大部分是完成那么有动画效果的视图跳转,就像以前学习Android时
对于IOS上的立体翻转动画效果很是崇拜,在IOS上很简单,废话不多说了。
上代码:[UIViewbeginAnimations:@"animationID"context:nil];//开始一个动画块,第一个参数为动画块标识
[UIViewsetAnimationDuration:1.5f];//设置动画的持续时间
//设置动画块中的动画属性变化的曲线,此方法必须在beginAnimations方法和commitAnimations,默认即为UIViewAnimationCurveEaseInOut效果。详细请参见UIViewAnimationCurve
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationRepeatAutoreverses:NO];//设置是否自动反转当前的动画效果
[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];
//设置完成后启动跳转方法
[self.viewexchangeSubviewAtIndex:1withSubviewAtIndex:2];
[UIViewcommitAnimations];//提交动画
- UIView中视图关系分析以及视图跳转动画的使用
- 视图UIView动画
- UIView中的子视图与父视图的关系
- iphone 开发 窗口(UIWindow) 与视图(UIView)之间以及整个程序间的关系,深层解析
- 如何在UIView中使用视图控制器
- UI06-UIView视图层次关系
- 自定义视图动画类Animator和自定义插值器Interpolator以及他们之间的关系
- Swfit中视图跳转
- Swfit中视图跳转
- UIView中插入子视图
- UIView 视图回调 使用
- 视图UIView
- UIView视图
- 视图跳转的方式
- UI05-UIView视图的创建
- iOS动画技术——UIView动画(视图动画)
- iOS 视图UIview属性介绍 以及视图层次方法
- 简单的使用滚动视图的setContentOffSet和setContentSize以及几种简单的动画使用
- jstl标签
- jQuery---事件汇总(基础篇)
- C/C++发展之路-读书清单
- 3389
- C语言字符和字符串区别
- UIView中视图关系分析以及视图跳转动画的使用
- 启用SQL Server 2005 Express的sa用户名
- Socket通信:实现PC端和Android端之间的相互通信(通过网络)
- 第39级阶梯
- 去除 QListWidget的selected item的长方形边框focus rectangle--委托
- maven在win7下的安装
- java基础--多态-域与静态方法1(java编程思想)
- https://tower.im
- 设计模式(c++)笔记之二十三(Interpreter模式)