續
之前在講
UIResponder
路由時,
可以通過
UIResponder
一層一層往上傳,同時可添加
額外參數
。這是優點。
缺點就是:
當把一個
view
添加到加一個
view
的
window
時,回傳事件會被打斷!!!
正題 - Aspects
利用
Aspects
Hook 某個
view
的某個方法
3 種操作:
- 前:在原方法前調用
- 中:直接替換原方法
- 後:在原方法後調用
在這裡,使用
中
某個視圖嵌套層級比較多,又不能使用
UIResponder
時,就可以考慮用
Aspects
舉個粟子
self.view addSubview:viewA];
[viewA aspect_hookSelector:@selector(buttonClick:) withOptions:AspectPositionInstead usingBlock:^(id<AspectInfo> info, UIButton *button){
NSLog(@"點選了按鈕 %@",button);
// code goes here
} error:nil];