不疯不成魔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

响应者链就是当子视图不响应,父视图有响应事件,父视图响应

#import "RootViewController.h"
#import "ResponderView.h"
@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    ResponderView *viewTop = [[ResponderView alloc] initWithFrame:CGRectMake(0, 0, 320, 284)];
    viewTop.tag = 100;
    viewTop.backgroundColor = [UIColor redColor];
    [self.view addSubview:viewTop];
    [viewTop release];
    ResponderView *viewDow = [[ResponderView alloc] initWithFrame:CGRectMake(0, 284, 320, 284)];
    viewDow.tag = 101;
    viewDow.userInteractionEnabled = NO;
    viewDow.backgroundColor = [UIColor yellowColor];
    
    [self.view addSubview:viewDow];
    [viewDow release];
    
    ResponderView *viewNe1 = [[ResponderView alloc] initWithFrame:CGRectMake(40, 40, 240, 204)];
    viewNe1.tag = 102;
    viewNe1.backgroundColor = [UIColor greenColor];

    [viewDow addSubview:viewNe1];
    [viewNe1 release];
    
    ResponderView *viewNe2 = [[ResponderView alloc] initWithFrame:CGRectMake(40, 40, 160, 124)];
    viewNe2.tag = 103;
    viewNe2.backgroundColor = [UIColor blueColor];
    [viewNe1 addSubview:viewNe2];
    [viewNe2 release];


    UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 100, 100)];
    lab.backgroundColor = [UIColor greenColor];
   // lab.userInteractionEnabled = NO;
    lab.tag = 104;
    [viewTop addSubview:lab];
    [lab release];
    
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
   // btn.backgroundColor = [UIColor blueColor];
    btn.frame = CGRectMake(0, 0, 50,50);
    btn.tag = 105;
    //btn.userInteractionEnabled = NO;
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    [lab addSubview:btn];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"我是视图控制器 我响应!");
}
@end
#import "ResponderView.h"

@implementation ResponderView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    switch (self.tag) {
        case 100:
            NSLog(@"红色视图");
            break;
        case 101:
             NSLog(@"黄色视图");
            break;
        case 102:
             NSLog(@"绿色视图");
            break;
        case 103:
             NSLog(@"蓝色视图");
            break;
        case 104:
            NSLog(@"fdsf视图");
            break;
        case 105:
            NSLog(@"fdsfddddd视图");
            break;
        default:
            break;
    }
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{
    
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    
}


@end

 

posted on 2015-08-27 21:50  不疯不成魔  阅读(170)  评论(0编辑  收藏  举报