所有子视图
[tempView removeFromSuperview];
8.如何剪切一个视图超出父视图之外的部分
@property(nonatomic) BOOL clipsToBounds;
//剪裁超出父视图的部分
fView.clipsToBounds = YES;
9.如何隐藏和显示一个UIView
@property(nonatomic,getter=isHidden) BOOL hidden;
//隐藏一个视图
sView1.hidden = YES;
10.检测视图之间的关系
- (BOOL)isDescendantOfView:(UIView *)view;
//检测一个视图是否为另外一个视图的子视图
if ([sView2 isDescendantOfView:fView]) {
NSLog(@"sView2是fView的子视图");
}
=====================
UIImageView使用
1.如何重新设置图片内容
@property(nonatomic,retain) UIImage *image
2.如何解决图片内容变形问题(该属性由UIView继承)
@property(nonatomic) UIViewContentMode contentMode
UIViewContentModeScaleToFill 拉伸内容,会导致内容变形
UIViewContentModeScaleAspectFit 拉伸内容,内容比例不变
UIViewContentModeScaleAspectFill 拉伸内容,内容比例不变,但是有可能部分内容不能显示
imageView.contentMode = UIViewContentModeScaleAspectFill;
=====================
简单的手势操作
UITapGestureRecognizer 点击
UIPinchGestureRecognizer 二指往內或往外拨动,平时经常用到的缩放
UIRotationGestureRecognizer 旋转
UISwipeGestureRecognizer 滑动,快速移动
UIPanGestureRecognizer 拖移,慢速移动
UILongPressGestureRecognizer 长按
/*
参数1:目标对象
参数2:回调的方法
*/
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myTap:)];
//双击触发
tap.numberOfTapsRequired = 2;
//添加手势到Window之上
[self.window addGestureRecognizer:tap];
//快速滑动
UISwipeGestureRecognizer *swi = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(myTap:)];
/*
typedef NS_OPTIONS(NSUInteger, UISwipeGestureRecognizerDirection) {
UISwipeGestureRecognizerDirectionRight = 1 << 0,
UISwipeGestureRecognizerDirectionLeft = 1 << 1,
UISwipeGestureRecognizerDirectionUp = 1 << 2,
UISwipeGestureRecognizerDirectionDown = 1 << 3
};
*/
//设置支持的方向
//水平和竖直方向能支持其中一种
swi.direction = UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown;
[self.window addGestureRecognizer:swi];
//长按手势
//长按之后,滑动也会触发,放手也会触发一次
UILongPressGestureRecognizer *longGes = [[UILongPressGestureRecognizer alloc] initWithTarget:self action: @selector(myTap:)];
//触发事件需要的最短时间
longGes.minimumPressDuration = 1;
[self.window addGestureRecognizer:longGes];
//关闭人机交互开关
//self.window.userInteractionEnabled = NO;
/*
注意事项:
1.每一个UIView都有一个属性userInteractionEnabled,如果这个属性值为NO,则无法触发事件(包括手势和btn的点击事件)
2.UILabel,UIImageView在实例化出来的时候,默认userInteractionEnabled的值为NO
3.如果父视图的userInteractionEnabled的值为NO,则子视图也不可以响应事件
4.如果视图被隐藏,也不可以响应事件
*/
ps:当视图hidden属性设置为YES的时候,或者userInteractionEn