View方法补充

视图的重要属性

UIView 是其他UI控件的Base Class (基类)
hidden 控制视图的显隐 redView.hidden = YES (NO);隐藏(显示)
(隐藏之后其Button也不能工作)但内存控件仍然存在。

alpha

控制视图的不透明度 (子视图也一起透明),取值范围0-1
redView.alpha = 0.8;

superview

获取本视图的父视图。 (需要实例对象去接收)

subviews

获取本视图的所有子视图 (需要数组去接收)

tag

给视图添加标记,被加完标记的视图可以使用 redView.tag =100;
viewWithTag: 方法取出

UIView *view = [superview viewWithTag:100 ];

  //显隐
  self.view.hidden = YES;
  //提取某个视图的父视图
   NSLog(@"blueView supperView =%@",blueView.superview);
  //提取某个视图的所有子视图
   NSLog(@"blueView subviewView =%@",blueView.subviews);
  //alpha透明度
  blueView.alpha = 0;
  //通过tag值,取出特定的视图 标记
  blueView.tag = 10001;
  UIView *tagView = [self.window viewWithTag:10001];
  NSLog(@"%@ %@",tagView,view);
  //取出来的是相同的地址

如果子视图超出父视图范围是否裁剪子视图 默认是NO
redView.clipsToBounds = YES;
注释:如果需要裁剪的话,需要设置父视图的clipsToBounds属性。

4.是否可以和用户进行交互,默认为YES
redView.userInteractionEnabled = YES;
UIView 默认 YES

 如果可一个用户交互那么这个视图 可以接收点击,子视图也可以接收点击事件
 谁在在上方谁想接受点击 最上方的会拦截
 如果设置为NO 子视图和父视图都不能接受点击事件,那么这个点击就会向下层传递知道能被接受事件的控件接收 如果最后没有控件接受这个事件 事件将会被抛弃
    UILabel UIIImageView userInteractionEnabled默认是NO,不可以和用户进行交互
    如果button 粘贴到UILabel 和UIIImageView上 button是不能被点击
    如果想要能点击button 就要把UILabel 和 UIIImageView 的userInteractionEnabled改为YES
修改view的bounds会将redView的坐标系改变

redView.bounds = CGRectMake(-50, -50, 200, 100);

view.transform
     1.CGAffineTransformMakeRotation 设置视图的旋转角度(这个角度相对最原始的位置)
blueView.transform = CGAffineTransformMakeRotation(M_PI_4);           
      2.CGAffineTransformRotate函数相对于当前blueView1.transform 旋转的角度
blueView1.transform = CGAffineTransformRotate(blueView.transform, M_PI_4);
CGAffineTransformMakeScale可以实现 放大 缩小 上下翻转 左右翻转

都是相对最原始的状态进行变换
CGAffineTransformMakeScale(x, y);
x 控制x 方向的大小 1 原始大小 >1 x方向放大 <1 缩小
y 控制 y方向 大小 1 原始大小 >1 y纵向放大 < 1缩小
x 是负数 表示相对于原始的位置 左右翻转 翻转180度
x 是正数 原始的位置
y 负数 相对于原始的位置 上下翻转
y 正数 就是最原始的位置
imagebutton.transform = CGAffineTransformMakeScale(-2, 2);

动画
    [UIView animateWithDuration:0.25 animations:^{//执行的第一个动画
} completion:^(BOOL finished) {//第一个动画结束时执行
}]
设置父子视图自适应/停靠模式
    redView.autoresizesSubviews = YES;//允许子视图伴随父视图自动变化
设置子视图的自适应模式
    blueView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin;
/*
 UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
 父子视图的左边距 会伴随父视图的宽度 增加而增加 减少而减少
 UIViewAutoresizingFlexibleWidth        = 1 << 1,
 //子视图的宽度会伴随父视图的宽度增加而增减 减少而减少
 UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
 父子视图的右边距 会伴随父视图的宽度 增加而增加 减少而减少
 UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
 父子视图的上边距 会伴随父视图的宽度 增加而增加 减少而减少
 UIViewAutoresizingFlexibleHeight       = 1 << 4,
 //子视图的高度会伴随父视图的高度增加而增减 减少而减少
 UIViewAutoresizingFlexibleBottomMargin = 1 << 5
 父子视图的下边距 会伴随父视图的宽度 增加而增加 减少而减少
 */

你可能感兴趣的:(View方法补充)