iOS学习总结之UI图层关系与center
2015-08-30 20:31
344 查看
一、center(中心)
1>相对于它的父视图来说的(如果改变中心点的位置 视图的位置也会发生变化)。
2>中心点计算 X = x + w/2 Y = y + h/2
3>获得中心的方法
方法一
view.center = CGPointMake(200, 300);
方法二
view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);
方法三
view.center = self.window.center;
二、图层间的关系
1> 裁切边境 把超出的部分剪切掉方法
需要裁切视图.clipsToBounds = YES;
2>操作两个视图的图层关系 两个图层 必须在同一个父视图上面
如果两个视图 不是同一个父视图 那它们两个就没有任何关系
3>bringSubviewToFront 把某个视图放到父视图的最上面。
使用方法:[父视图 bringSubviewToFront:操作视图];
4>sendSubviewToBack 把某个视图放到相邻视图上面.
使用方法:[父视图 sendSubviewToBack:操作视图];
5> 把一个子视图放到另一个子视图的底下。
insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview
使用方法: [self.window insertSubview:sonView belowSubview:subView];
6>把一个子视图放到另一个子视图的上面
使用方法: [self.window insertSubview:sonView aboveSubview:subView];
7> 交换父视图上面的两个视图的位置。
使用方法: [self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];
在往同一个父视图上面 添加子视图的时候 系统会自动记录一个Index 只要添加一个子视图就会增加1 从0开始
8> 将一个视图插入到一个索引下面。
使用方法:[self.window insertSubview:bgView atIndex:2];
9>从父视图移除视图 removeFromSuperview
使用方法: [subView removeFromSuperview];
10> 总结: 子视图 依赖于 父视图
如果父视图位置发生改变 子视图位置也会发生改变 因为 frame是根据它的父视图来定义位置的
如果移除父视图 父视图上面的所有子视图 也都会被移除
11>延迟加载:[self performSelector:@selector(run) withObject:nil afterDelay:3];
1>相对于它的父视图来说的(如果改变中心点的位置 视图的位置也会发生变化)。
2>中心点计算 X = x + w/2 Y = y + h/2
3>获得中心的方法
方法一
view.center = CGPointMake(200, 300);
方法二
view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);
方法三
view.center = self.window.center;
二、图层间的关系
1> 裁切边境 把超出的部分剪切掉方法
需要裁切视图.clipsToBounds = YES;
2>操作两个视图的图层关系 两个图层 必须在同一个父视图上面
如果两个视图 不是同一个父视图 那它们两个就没有任何关系
3>bringSubviewToFront 把某个视图放到父视图的最上面。
使用方法:[父视图 bringSubviewToFront:操作视图];
4>sendSubviewToBack 把某个视图放到相邻视图上面.
使用方法:[父视图 sendSubviewToBack:操作视图];
5> 把一个子视图放到另一个子视图的底下。
insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview
使用方法: [self.window insertSubview:sonView belowSubview:subView];
6>把一个子视图放到另一个子视图的上面
使用方法: [self.window insertSubview:sonView aboveSubview:subView];
7> 交换父视图上面的两个视图的位置。
使用方法: [self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];
在往同一个父视图上面 添加子视图的时候 系统会自动记录一个Index 只要添加一个子视图就会增加1 从0开始
8> 将一个视图插入到一个索引下面。
使用方法:[self.window insertSubview:bgView atIndex:2];
9>从父视图移除视图 removeFromSuperview
使用方法: [subView removeFromSuperview];
10> 总结: 子视图 依赖于 父视图
如果父视图位置发生改变 子视图位置也会发生改变 因为 frame是根据它的父视图来定义位置的
如果移除父视图 父视图上面的所有子视图 也都会被移除
11>延迟加载:[self performSelector:@selector(run) withObject:nil afterDelay:3];
相关文章推荐
- iOS学习总结之UI-IB
- UICollectionView 和 UIKit
- CodeForces 42A Guilty — to the kitchen!
- UISegmentedControl的属性
- CodeForces 12C Fruits
- CodeForces 373B Making Sequences is Fun
- Java基础知识强化09:String、StringBuffer和StringBuilder使用
- UISlider
- USACO-Section 2.1 Sorting a Three-Valued Sequence (贪心)
- leetcode[187]Repeated DNA Sequences
- 分享一个递归无限级拼接Json的方法---ExtJs的TreePanel和TreeGrid均适用(Ef,Lambda,Linq,IQueryable,List)
- UITabBarController学习笔记
- 多校10 1007 CRB and Queries
- jQuer基础
- Wow! Such Sequence!(线段树4893)
- Wow! Such Sequence!(线段树4893)
- UILabel属性
- [LeetCode] Closest Binary Search Tree Value II
- iOS阶段学习第33天笔记(自定义标签栏(UITabBar)介绍)
- Memo 安装 Mirantis Fuel - OpenStack安装和管理软件