Inherits from UIResponder : NSObject
UIView 实现了在app中简便绘制的方法。可以简单地将UIView用为其他view对象地容器。也可以继承它,实现自己的绘制自定义图形的方法。又由于它是UIResponder的对象,可以做出反应。
UIView被安排到UIWindow,并嵌入subview层次。因此有superview(一个)和subviews(多个)。同时,同层次的view可以相互重叠,构成复杂的摆放。
frame,center,bounds属性设置view的位置和大小。initWithFrame用来创建view。
autoresizing properties。 autoresizesSubviews property ,自动调整 subviews。autoresizingMask property(UIViewAutoresizing),自动调整当前view。
view层次的安排催生 Managing the View Hierarchy
当继承UIView并用来绘制自身,则要实现drawRect: 方法,在指定区域中绘制view。这个方法在view第一次显示,或者在一个事件暗示view的一些区域需要重新绘制自身内容。
一般的几何变动并不需要重新绘制view,因此如果改动了view的外观,并想强制重绘,调用setNeedsDisplay 或 setNeedsDisplayInRect:。另外一种方式是设置 contentMode为UIViewContentModeRedraw ,使得当bounds变动时,自动调用drawRect:,否则view在大小调整或修整时都不会重绘。
当继承UIView之后仍然用作其他view对象的容器,则使用initWithFrame来创建view的层次。若要强制subviews在绘制之前的layout,对view调用 setNeedsLayout。当layoutIfNeeded被调用, layoutSubviews 在显示之前被调用。子类应当覆盖 layoutSubviews ,来进行自定义的subview的设置。
view对象可以添加动画。beginAnimations:context:来开始动画阻塞,设置需要动画的属性,然后调用commitAnimations结束动画阻塞。动画会在另一个线程中,在程序回到run-loop时开始。
hitTest:withEvent:和pointInside:withEvent:如果你在处理事件,并想知道他们在何处发生。
UIView 实现了在app中简便绘制的方法。可以简单地将UIView用为其他view对象地容器。也可以继承它,实现自己的绘制自定义图形的方法。又由于它是UIResponder的对象,可以做出反应。
UIView被安排到UIWindow,并嵌入subview层次。因此有superview(一个)和subviews(多个)。同时,同层次的view可以相互重叠,构成复杂的摆放。
frame,center,bounds属性设置view的位置和大小。initWithFrame用来创建view。
autoresizing properties。 autoresizesSubviews property ,自动调整 subviews。autoresizingMask property(UIViewAutoresizing),自动调整当前view。
view层次的安排催生 Managing the View Hierarchy
当继承UIView并用来绘制自身,则要实现drawRect: 方法,在指定区域中绘制view。这个方法在view第一次显示,或者在一个事件暗示view的一些区域需要重新绘制自身内容。
一般的几何变动并不需要重新绘制view,因此如果改动了view的外观,并想强制重绘,调用setNeedsDisplay 或 setNeedsDisplayInRect:。另外一种方式是设置 contentMode为UIViewContentModeRedraw ,使得当bounds变动时,自动调用drawRect:,否则view在大小调整或修整时都不会重绘。
当继承UIView之后仍然用作其他view对象的容器,则使用initWithFrame来创建view的层次。若要强制subviews在绘制之前的layout,对view调用 setNeedsLayout。当layoutIfNeeded被调用, layoutSubviews 在显示之前被调用。子类应当覆盖 layoutSubviews ,来进行自定义的subview的设置。
view对象可以添加动画。beginAnimations:context:来开始动画阻塞,设置需要动画的属性,然后调用commitAnimations结束动画阻塞。动画会在另一个线程中,在程序回到run-loop时开始。
hitTest:withEvent:和pointInside:withEvent:如果你在处理事件,并想知道他们在何处发生。
使用gesture recognizer,必须addGestureRecognizer: ,反操作是removeGestureRecognizer:,使用view的 gestureRecognizers 属性查看哪些 gestureRecognizers 和这个view关联。
原文:http://blog.163.com/weiyanen@126/blog/static/25596404201010258241766/