#import "ViewController.h"
@interface ViewController ()
{
UIView *redView,*greenView,*blackView;
}
@property (weak, nonatomic) IBOutlet UIView *blueView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];//创建一个view并初始化
redView.backgroundColor = [UIColor redColor];//设置view背景色
[_blueView addSubview:redView];//关联
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap1:)];//创建一个手势并初始化
[redView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
blackView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];//创建一个view并初始化
blackView.backgroundColor = [UIColor blackColor];//设置view背景色
[redView addSubview:blackView];
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap2:)];//创建一个手势并初始化
[blackView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
greenView = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 50, 50)];//创建一个view并初始化
greenView.backgroundColor = [UIColor greenColor];//设置view背景色
[_blueView addSubview:greenView];
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap3:)];//创建一个手势并初始化
[greenView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void) didTap1:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);//打印手势的状态
[redView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];//删除子视图
[redView removeGestureRecognizer:sender];//删除本视图以及子视图
}
- (void) didTap2:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);
[blackView removeFromSuperview];
}
- (void) didTap3:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);
[greenView removeFromSuperview];
}
- (IBAction)didTap:(UITapGestureRecognizer *)sender {
NSLog(@"Tap:%ld",sender.state);
for (UIView *v in _blueView.subviews) {
[v removeFromSuperview];
}
[_blueView removeFromSuperview];
}
- (IBAction)didLongView:(UILongPressGestureRecognizer *)sender {
NSLog(@"LongPress:%ld",sender.state);
}
@interface ViewController ()
{
UIView *redView,*greenView,*blackView;
}
@property (weak, nonatomic) IBOutlet UIView *blueView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];//创建一个view并初始化
redView.backgroundColor = [UIColor redColor];//设置view背景色
[_blueView addSubview:redView];//关联
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap1:)];//创建一个手势并初始化
[redView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
blackView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];//创建一个view并初始化
blackView.backgroundColor = [UIColor blackColor];//设置view背景色
[redView addSubview:blackView];
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap2:)];//创建一个手势并初始化
[blackView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
greenView = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 50, 50)];//创建一个view并初始化
greenView.backgroundColor = [UIColor greenColor];//设置view背景色
[_blueView addSubview:greenView];
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap3:)];//创建一个手势并初始化
[greenView addGestureRecognizer:tap];//手势的识别必须关联到某个视图上
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void) didTap1:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);//打印手势的状态
[redView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];//删除子视图
[redView removeGestureRecognizer:sender];//删除本视图以及子视图
}
- (void) didTap2:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);
[blackView removeFromSuperview];
}
- (void) didTap3:(UITapGestureRecognizer *)sender
{
NSLog(@"tap:%ld",sender.state);
[greenView removeFromSuperview];
}
- (IBAction)didTap:(UITapGestureRecognizer *)sender {
NSLog(@"Tap:%ld",sender.state);
for (UIView *v in _blueView.subviews) {
[v removeFromSuperview];
}
[_blueView removeFromSuperview];
}
- (IBAction)didLongView:(UILongPressGestureRecognizer *)sender {
NSLog(@"LongPress:%ld",sender.state);
}