iOS之UIView的用法

原创 2016年05月30日 22:48:33
一。UIView 三个作用  布局(视图树)   动画(显示动画、绘图)   事件传递


视图,大家在iPhone上看到的控件大部分都是UIView的子类。视图,通常是UIView的一个对象,表示屏幕上的一块矩形区域,同时处理该区域的绘制和触屏事件。

一个视图也可以作为其他视图的父视图,同时决定着这些子视图的位置和大小。

UIView类做了大量的工作去管理这些内部视图的关系。视图同时也是App中MVC模式中的View成分。




二。IOS坐标系统


iPhone的视图坐标系是以左上角为原点


每一个view的frame所使用的坐标系以它的父视图的左上角为原点


视图结构和相关函数




CGPoint point = CGPointMake(x,y); //位置


CGSize size = CGSizeMake(width,height); //大小


CGRect rect = CGRectMake(x,y,width,height); //位置和大小




三。Frame和Bounds


  Frame以其父视图为起点,得出它自己的位置信息Bounds即以iOS系统的坐标原点为起点,坐标是(0,0)


  Center表示视图中心点所在的位置,设置此属性可改变视图的位置当你设置了三者中的某一个的时候,其他两个的值会相应变化

*请注意:缺省情况下,视图的边框并不会
被父视图的边框裁剪。如果您希望让一个视图裁剪其子视图,需要将其clipsToBounds属性设置为YES。


四。创建UIView


创建视图UI有两种方式,xib文件和代码创建。


视图的层次结构


UIView层次结构可以理解为“视图树”—— view hierarchy


一个视图就是一个容器,当一个视图包含其他视图的时候,两个视图之间就建立了一个父子关系。被包含的视图被称为”子视图(subview)”,
包含的视图称为”父视图或超视图(superview)“从视觉上看,子视图隐藏了父视图的内容,设置透明属性可以看到父视图的内容。


每个父视图都有一个有序的数组存储着它的子视图,存储的顺序就会影响到每个子视图的显示效果,比如:两个兄弟视图重叠在一起,后来被加入的视图就出现在另外的上面
一个视图可以嵌入多个subview,但是只能有一个superview


五。UIView的常用方法


视图的常用方法


基本的添加和删除子视图
addSubview:                     // 添加子视图
insertSubview:atIndex:        // 视图插入到指定索引位置
insertSubview:aboveSubview:  // 视图插入指定视图之上
insertSubview:belowSubview:  // 视图插入指定视图之下
bringSubviewToFront:          // 把视图移动到最顶层
sendSubviewToBack:             // 把视图移动到最底层
exchangeSubviewAtIndex:withSubviewAtIndex //把两个索引对应的视图调换位置
removeFromSuperview   // 把视图从父视图中移除


当调用addSubview的时候,会对其进行保留,理解为retain一个对象就可以,当

调用removeFraomSuperview的时候,会对释放,也就是release。


六。UIView的常用属性


alpha               //透明度

backgroundColor   //背景颜色

subViews          //子视图集合

hidden             //是否隐藏

tag                //标签值

superview         //父视图

multipleTouchEnabled //是否开启多点触摸

userInteractionEnabled //是否响应触摸事件





版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS开发笔记UIView使用animateWithDuration控制页面效果

引言:最近学习了一些页面的跳转动画效果。使用的是UIview的animateWithDuration方法。当然之前的beginAnimations也是可以实现的。   比如一:从屏幕下部往...
  • daiyelang
  • daiyelang
  • 2013年12月03日 13:38
  • 2511

IOS开发-UIView之动画效果的实现方法(合集)

http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更...
  • fg313071405
  • fg313071405
  • 2015年01月13日 10:32
  • 7776

ios开发之带箭头圆角的 uiview 代码例子

#import #import #define ORC_RADIUS 12 @interface MapTipView : UIView {     CGPoint origin;   ...
  • wudidalishi
  • wudidalishi
  • 2012年09月28日 13:52
  • 4587

截屏实现,将UIView指定区域转换成图UIImage

在平常的开发中,会用到截屏过程,也就是将UIView指定区域转换成图片,下面就是实现代码: -(UIImage*) imageFromView:(UIView *) v rect:(CGRect) ...
  • chengjiamei
  • chengjiamei
  • 2015年08月27日 17:08
  • 1040

iOS uiview基本属性用法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1...
  • qq_25374635
  • qq_25374635
  • 2016年08月24日 16:54
  • 138

IOS开发之UIView常用操作

UIImageView,顾名思义,是用来放置图片的。使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码。 1、创建一个UIIm...
  • xdrt81y
  • xdrt81y
  • 2013年06月19日 18:16
  • 10249

IOS-UIView转UIImage并保存到本地相册

IOS-UIView转UIImage并保存到本地相册
  • centralperk
  • centralperk
  • 2016年06月08日 14:48
  • 1150

iOS开发——单例的实现、使用与架构

单例在我们开发中是最常用的设计模式,在iOS中也是如此。单例可以保证某个类的实例在程序中是唯一的,便于进行资源和数据的共享。使用的设计原则是单一职责原则。我们来看看在iOS中本身自带的类或者方法哪些使...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2015年12月24日 22:08
  • 6708

iOS如何利用Delegate来实现两个UIView之间的传值

两个View之间的传值可以有多种方式。但本人觉得最合理最自然并且最安全的方式是通过Delegate方式。 设想一个场景: 1. 有两个View,分别是A和B。 2. 点击A中的某个按钮,出来B。...
  • u014724552
  • u014724552
  • 2014年04月22日 14:16
  • 998

iOS-UIView的生命周期

经常使用UIView以及它的子类,一般对于init:,viewDidLoad:,dealloc:等方法应该是比较熟悉和了解的。对于其它几个基本方法就不那么常用了,为了更好地编程使用这些方法,在此集中收...
  • qiuxuewei2012
  • qiuxuewei2012
  • 2015年10月15日 23:40
  • 1001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS之UIView的用法
举报原因:
原因补充:

(最多只允许输入30个字)