标签:
知识点:
1.UIView的简单动画
1.UIView层次关系
2.UIImageView的使用
3.UIView 停靠模式
=====================
UIView的简单动画
1.UIVew坐标系统
1)UIView相对于父视图的坐标系统
2.UVIew的frame,center,bounds关系
frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)
bounds: 该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统)
center: 该view的中心点在父view坐标系统中的位置。(参照点是,父亲的坐标系统)
3.设置透明度
@property(nonatomic) CGFloat alpha
4.UIView中的简单动画效果1
1.开始动画
+(void)beginAnimations:(NSString *)animationID context:(void *)context;
2.持续时间
+(void)setAnimationDuration:(CFTimeInterval)dur;
3.提交动画(运行动画)
+(void)commitAnimations;
5. UIView中的简单动画效果2
+ (void)animateWithDuration:(NSTimeInterval)duration
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion
练习:把一块长为100的正方形视图从(0,0)移动到(100,100),然后到达的瞬间又从
(100,100)移动到(0,0),要求要使用动画效果。
=====================
UIView层次关系
1.如何在UView上叠加新的UIView
- (void)addSubview:(UIView *)view;
2.如何获取UIView的父视图
@property(nonatomic,readonly) UIView *superview;
3.如何获取UIView子视图,插入顺序
@property(nonatomic,readonly,copy) NSArray *subviews;
4.把一个子视图移动到最前端
- (void)bringSubviewToFront:(UIView *)view;
5.交换子视图的位置
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;
6.如何在特定位置插入一个视图
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
7.如何删除一个视图(该函数是给要删除的视图发送)
- (void)removeFromSuperview;
ps:removeFromSuperview:将一个视图从父视图当中移除,同时会移除该视图上的所有子视图
8.如何剪切一个视图超出父视图之外的部分
@property(nonatomic) BOOL clipsToBounds;
9.如何隐藏和显示一个UIView
@property(nonatomic,getter=isHidden) BOOL hidden;
9.检测视图之间的关系
- (BOOL)isDescendantOfView:(UIView *)view;
=====================
UIImageView使用
1.如何重新设置图片内容
@property(nonatomic,retain) UIImage *image
2.如何解决图片内容变形问题(该属性由UIView继承)
@property(nonatomic) UIViewContentMode contentMode
UIViewContentModeScaleToFill 拉伸内容,会导致内容变形
UIViewContentModeScaleAspectFit 拉伸内容,内容比例不变
UIViewContentModeScaleAspectFill 拉伸内容,内容比例不变,但是有可能部分内容不能显示
练习:用2个按钮来回切换4张图片的显示
3.简单的手势操作
UITapGestureRecognizer 点击
UIPinchGestureRecognizer 二指往內或往外拨动,平时经常用到的缩放
UIRotationGestureRecognizer 旋转
UISwipeGestureRecognizer 滑动,快速移动
UIPanGestureRecognizer 拖移,慢速移动
UILongPressGestureRecognizer 长按
ps:当视图hidden属性设置为YES的时候,或者userInteractionEnabled=NO
的时候,就无法进行人机交互
添加手势(三步曲)
// 先创建一个imageView(给imageView添加手势),然后再添加
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clik)];
[imageView addGestureRecognizer:tap];
imageView.userInteractionEnabled = YES; // 记得要打开交互
4.动画
// 注意:UIImageView相册有一个动画效果setAnimationImages
[imageView setAnimationImages:imageArray];
=====================
UIView 停靠模式
1.自动布局:当父视图变化时子视图如何变化
1)先设置父视图的autoresize属性为YES
2)再设置子视图的mask属性
@property(nonatomic) BOOL autoresizesSubviews;
@property(nonatomic) UIViewAutoresizing autoresizingMask;
UIViewAutoresizingNone
就是不自动调整。
UIViewAutoresizingFlexibleLeftMargin
自动调整与superView左边的距离,保证与superView右边的距离不变 UIViewAutoresizingFlexibleRightMargin
自动调整与superView的右边距离,保证与superView左边的距离不变。 UIViewAutoresizingFlexibleTopMargin
自动调整与superView顶部的距离,保证与superView底部的距离不变。 UIViewAutoresizingFlexibleBottomMargin
自动调整与superView底部的距离,保证与superView顶部的距离不变。 UIViewAutoresizingFlexibleWidth
自动调整自己的宽度,保证与superView左边和右边的距离不变。 UIViewAutoresizingFlexibleHeight
自动调整自己的高度,保证与superView顶部和底部的距离不变。
UI基础--(4)UIView深入认识、UIImageView动画及手势
标签:
原文地址:http://www.cnblogs.com/iOSteemo/p/4313048.html