程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 事件響應鏈

事件響應鏈

編輯:C++入門知識

事件響應鏈


(1)設置根視圖控制器

(2)RootViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    MyView *view = [[MyView alloc] initWithFrame:CGRectMake(0, 20, 320, 300)];
    view.backgroundColor = [UIColor grayColor];
    [self.view addSubview:view];
    
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"viewCtrl touchesBegan");
    
    [self.nextResponder touchesBegan:touches withEvent:event];
}

(3)MyView.m

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"myView touchesBegan");
    
    //將事件傳遞給下一個響應者
    /*
     nextResponder可以取得下一個響應者
     */
    [self.nextResponder touchesBegan:touches withEvent:event];
}

(4)TouchWindow.m

//window分發事件的方法
- (void)sendEvent:(UIEvent *)event {

    NSLog(@"window sendEvent");
    
    [super sendEvent:event];
    
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"window touchesBegan");
    
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved