进入UI_UiView;frame和bound以及视图之间层级关系
2015-07-21 18:52
471 查看
视图之间层级关系:
self.window insertSubview:<#(UIView *)#> aboveSubview:<#(UIView *)#>在第二个视图上插入第一个视图
self.window insertSubview:<#(UIView *)#> atIndex:<#(NSInteger)#> 在指定位置插入视图
self.window insertSubview:<#(UIView *)#> belowSubview:<#(UIView *)#> 在第二个视图下面插入第一个视图
//将指定视图移到最后面
[self.windowsendSubviewToBack:greenView];//则greenView被放到subViews数组中的第一个位置,第一个出现,在最下面
[self.windowbringSubviewToFront:blueView];//则blueView被放到subViews数组中的最后一个位置,最后一个显示,在最上面
[blueView removeFromSuperview];//移除蓝色视图;
视图之间的层级关系:1>子视图肯定在父视图的前面;2>后添加的视图如果和之前添加的视图有重叠部分,则后添加的视图会覆盖在之前添加的视图;3>如果在指定位置插入或者改变视图之间的层级关系,则都是需要父视图来管理的;4>如果从父视图上移除,则自己移除就可以;5>父视图通过subviews这个数组来管理子视图.
//获取子视图(一个视图上面可能会有很多个子视图,所以想要数组接收)
// NSArray *subViews = view.subviews;
视图的tag值起到唯一标识视图的作用.
viewWithTag 是一个方
对于一个视图来说,只能有一个父视图,通过 purpleView.superview (purpleView是一个自定义的视图)获取它唯一的父视图,视图又通过数组subviews来管理附在其上面的子视图.先添加的视图存在于该数组的前面的位置,但是先添加的视图在显示的时候却是在后面.视图也可以通过tag值来获得指定的UIView对象.
//frame:相对于父视图坐标系;bounds:相对子视图坐标系
IOS中每一个UIView对象都带有一个坐标系;frame的值取决于其相对父视图坐标原点的位置;bound的值取决于其相对自身坐标系原点的位置.当改变视图的bounds时会引起其自身坐标系的变化,从而引起视图上面子视图的变化.当视图中bounds中X坐标大于0会引起子视图向左移动;当小于0 的时候会引起子视图向右方向移动;当y大于0
的时候会引起子视图向上移动,y 小于0 的时候会引起向下移动.
//如何获得视图的中心点坐标
NSLog(@"%@",NSStringFromCGPoint(purpleView.center));
//如果改变视图View的中心点坐标,会引起视图Frame发生相应变化;同样的,如果改变视图的frame坐标,视图中心点坐标也会发生变化.
self.window insertSubview:<#(UIView *)#> aboveSubview:<#(UIView *)#>在第二个视图上插入第一个视图
self.window insertSubview:<#(UIView *)#> atIndex:<#(NSInteger)#> 在指定位置插入视图
self.window insertSubview:<#(UIView *)#> belowSubview:<#(UIView *)#> 在第二个视图下面插入第一个视图
//将指定视图移到最后面
[self.windowsendSubviewToBack:greenView];//则greenView被放到subViews数组中的第一个位置,第一个出现,在最下面
[self.windowbringSubviewToFront:blueView];//则blueView被放到subViews数组中的最后一个位置,最后一个显示,在最上面
[blueView removeFromSuperview];//移除蓝色视图;
视图之间的层级关系:1>子视图肯定在父视图的前面;2>后添加的视图如果和之前添加的视图有重叠部分,则后添加的视图会覆盖在之前添加的视图;3>如果在指定位置插入或者改变视图之间的层级关系,则都是需要父视图来管理的;4>如果从父视图上移除,则自己移除就可以;5>父视图通过subviews这个数组来管理子视图.
//获取子视图(一个视图上面可能会有很多个子视图,所以想要数组接收)
// NSArray *subViews = view.subviews;
视图的tag值起到唯一标识视图的作用.
viewWithTag 是一个方
对于一个视图来说,只能有一个父视图,通过 purpleView.superview (purpleView是一个自定义的视图)获取它唯一的父视图,视图又通过数组subviews来管理附在其上面的子视图.先添加的视图存在于该数组的前面的位置,但是先添加的视图在显示的时候却是在后面.视图也可以通过tag值来获得指定的UIView对象.
//frame:相对于父视图坐标系;bounds:相对子视图坐标系
IOS中每一个UIView对象都带有一个坐标系;frame的值取决于其相对父视图坐标原点的位置;bound的值取决于其相对自身坐标系原点的位置.当改变视图的bounds时会引起其自身坐标系的变化,从而引起视图上面子视图的变化.当视图中bounds中X坐标大于0会引起子视图向左移动;当小于0 的时候会引起子视图向右方向移动;当y大于0
的时候会引起子视图向上移动,y 小于0 的时候会引起向下移动.
//如何获得视图的中心点坐标
NSLog(@"%@",NSStringFromCGPoint(purpleView.center));
//如果改变视图View的中心点坐标,会引起视图Frame发生相应变化;同样的,如果改变视图的frame坐标,视图中心点坐标也会发生变化.
相关文章推荐
- PAT (Advanced Level) 1017. Queueing at Bank (25) 银行排队等待时间
- UIKit框架-11.UITableViewCell概述
- UIKit框架-10.UITableView概述
- hdu 5288 OO’s Sequence 2015 Multi-University Training Contest 1
- 利用 ProtoThreads实现Arduino多线程处理
- easyui datagrid footer 页脚问题
- android framework SystemUI 修改NavigationBar靠右边
- hdu5288 OO’s Sequence 二分 多校联合第一场
- uva 11235 - Frequent values(RMQ)
- iOS获取UUID,并使用keychain存储
- ios – 使用UINib加载xib文件实现UITableViewCell
- hdu5288OO’s Sequence
- iOS6新特征:UICollectionView介绍(二)
- ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
- C#高级编程四十四天-----string和stringbuilder
- String、StringBuffer与StringBuilder之间区别
- Android 性能优化的方法总结---UI篇
- hdu(2062)-Subset sequence 组合数学
- 设计模式-建造者模式(Builder)
- EasyUI-初级使用