.创建UIView
UIView * redView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
UIView * blueView = [[UIView alloc] init];
把blueView粘贴到了redView上
[redView addSubview:blueView];
redView 就是blueView 的父视图
修改父视图属性 对子视图产生影响 .设置隐藏
redView.hidden = YES;//父视图隐藏子视图也会隐藏 .如果子视图超出父视图范围是否裁剪子视图 默认是NO
redView.clipsToBounds = YES; .是否可以和用户进行交互,默认为YES
redView.userInteractionEnabled = YES;
UIView 默认 YES
/*
如果可一个用户交互那么这个视图 可以接收点击,子视图也可以接收点击事件
谁在在上方谁想接受点击 最上方的会拦截
如果设置为NO 子视图和父视图都不能接受点击事件,那么这个点击就会向下层传递知道能被接受事件的控件接收 如果最后没有控件接受这个事件 事件将会被抛弃
UILabel UIIImageView userInteractionEnabled默认是NO,不可以和用户进行交互
如果button 粘贴到UILabel 和UIIImageView上 button是不能被点击
如果想要能点击button 就要把UILabel 和 UIIImageView 的userInteractionEnabled改为YES
*/ .确定父子视图关系之后我们就可以获取所有的子视图
NSArray * subViews = redView.subviews; .获取子视图的父视图
UIView * superView = blueView.superview; .判断一个视图是否是另外一个视图的子视图
[button isDescendantOfView:redView]; .在指定的索引位置插入一个子视图(这个函数也会把子视图粘贴到父视图上)
如果指定的索引超出了 父视图对应的索引值 那么就会把这个子视图插在 最上层
索引0 对应的就是最底层
[self.view insertSubview:label4 atIndex:]; .在指定的某个子视图下方插入一个新的子视图
[self.view insertSubview:label4 belowSubview:label1]; .在指定的某个子视图上方插入一个新的子视图
[self.view insertSubview:label4 aboveSubview:label1];
.父视图 把指定的子视图 放到最前方
[self.view bringSubviewToFront:label4]; .父视图 把指定的两个视图进行交换
[self.view exchangeSubviewAtIndex: withSubviewAtIndex:]; .父视图 把指定的子视图放到最底层
[self.view sendSubviewToBack:label4]; .可以通过设置中心点位置
blueView.center = CGPointMake(, ); .通过bounds 改变 视图的边框大小
blueView.bounds = CGRectMake(, , , );
//bounds 前两项一般是 0 0
frame 和 bounds 区别
.frame 子视图相对于父视图的坐标系的坐标
.bounds 前两项的坐标是相对于自己坐标系的坐标
.如果把bounds 中的坐标改变了 那么就会影响自己的坐标系,那么最终能影响子视图 .修改view的bounds会将redView的坐标系改变
redView.bounds = CGRectMake(-, -, , ); .view.transform
.CGAffineTransformMakeRotation 设置视图的旋转角度(这个角度相对最原始的位置)
imagebutton.transform = CGAffineTransformMakeRotation(M_PI/);
.CGAffineTransformRotate函数相对于当前imagebutton.transform 旋转的角度
imagebutton.transform = CGAffineTransformRotate(imagebutton.transform, M_PI/); .CGAffineTransformMakeScale可以实现 放大 缩小 上下翻转 左右翻转
都是相对最原始的状态进行变换
CGAffineTransformMakeScale(x, y);
x 控制x 方向的大小 原始大小 > x方向放大 < 缩小
y 控制 y方向 大小 原始大小 > y纵向放大 < 1缩小
x 是负数 表示相对于原始的位置 左右翻转 翻转180度
x 是正数 原始的位置
y 负数 相对于原始的位置 上下翻转
y 正数 就是最原始的位置
imagebutton.transform = CGAffineTransformMakeScale(-, ); .动画
[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
父子视图的下边距 会伴随父视图的宽度 增加而增加 减少而减少
*/

iOS UIView 基本属性用法的更多相关文章

  1. IOS UIVIEW layer动画 总结(转)

    转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html   IOS UIVIEW layer动画 总结, ...

  2. IOS NSUserDefaults 讲解 用法

    IOS NSUserDefaults 讲解 用法    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults ...

  3. IOS UIView圆角,阴影,边框,渐增光泽

    圆角 sampleView.layer.cornerRadius = 2.5; // 圓角的弧度sampleView.layer.masksToBounds = YES; 阴影 sampleView. ...

  4. [转]IOS UIView 之属性篇

    [转载自:IOS UIView 之属性篇 From CSDN] UIView 继承于UIResponder             所遵守的协议有 NSCoding .UIAppearance. UI ...

  5. ios Block详细用法

    ios Block详细用法 ios4.0系统已开始支持block,在编程过程中,blocks被Obj-C看成是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的 ...

  6. iOS - UIView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...

  7. iOS UIView控件的常用属性和方法的总结

    一 UIVIew 常见属性1.frame 位置和尺寸(以父控件的左上角为原点(0,0))2.center 中点 (以父控件的左上角为原点(0,0))3.bounds 位置和尺寸(以自己的左上角为原点 ...

  8. iOS UIApplication sharedapplication用法

    应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...

  9. IOS UIView 04- 自定义控件

    注:本人是翻译过来,并且加上本人的一点见解. 前言 本文将讨论一些自定义视图.控件的诀窍和技巧.我们先概述一下 UIKit 向我们提供的控件,并介绍一些渲染技巧.随后我们会深入到视图和其所有者之间的通 ...

随机推荐

  1. bzoj1079: [SCOI2008]着色方案

    ci<=5直接想到的就是5维dp了...dp方程YY起来很好玩...写成记忆化搜索比较容易 #include<cstdio> #include<cstring> #inc ...

  2. Python开发环境

    --> Python开发环境简备 Python的优点除了其自身的各种特点外,还因为有众多第三方模块,为其扩展了各方面无数的功能. 虽然大多数时候在百度上随便搜都能搜到一大把,pypi (http ...

  3. android.util.AndroidRuntimeException: requestFeature() must be called before adding content 错误解决方法

    Activity全屏,网上的代码如下:protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance ...

  4. LeetCode Minimum Size Subarray Sum (最短子序列和)

    题意:给一个序列,找出其中一个连续子序列,其和大于s但是所含元素最少.返回其长度.0代表整个序列之和均小于s. 思路:O(n)的方法容易想.就是扫一遍,当子序列和大于s时就一直删减子序列前面的一个元素 ...

  5. RMAN 备份与恢复深入解析(二)

    RMAN 备份与恢复深入解析(一)  http://space.itpub.net/26686207/viewspace-760869 更多精彩内容尽在 www.leonarding.com < ...

  6. Spring--通过注解来配置bean

    Spring通过注解配置bean 基于注解配置bean 基于注解来配置bean的属性 在classpath中扫描组件 组件扫描(component scanning):Spring能够从classpa ...

  7. jQuery修改操作css属性实现方法

    在jquery中我们要动态的修改css属性我们只要使用css()方法就可以实现了,下面我来给各位同学详细介绍介绍. css()方法在使用上具有多样性,我们先来了解css()方法基本知识. css() ...

  8. android——创建camera应用(译)

     只是选择相机部分来翻译.下面是主要内容 有些开发者可能需要Camera的接口,来定制自己程序的外观和特殊功能.创建自定义的Camera界面比使用using an Intent需要编写更多的代码,但是 ...

  9. gitphp日期乱码解决方案

    出现日期乱码的在以下文件中 templates rss tag commitdiffplain log project commit 搜索文件中的 %z 修改为以下代码 {$commit->Ge ...

  10. matlab mex入门简介

    mex 的目的 通过C/C++语言编写代码,在Matlab中将其编译成mex文件主要可以做以下几方面的事情: 1.加快程序的执行速度. Matlab在for上如老牛拉车的速度确实让人抓狂. 2.将Ma ...