直接附上源**:
#import
@inte***ce
uiresponder (transfer)
/***
傳送乙個待響應訊息,對
eventname
感興趣的
uiresponsder
可以對訊息進行處理
* 注意
如果對傳過來的訊息不處理,需要傳遞給下乙個響應
* @param
eventname
發生的事件名稱
* @param
userinfo
傳遞訊息時
,攜帶的資料
,資料傳遞過程中
,可以有新的資料新增**/
- (void
)transfereventwithname:(
nsstring
*)eventname userinfo:(
nsdictionary
*)userinfo;
/***
傳送乙個待響應訊息給指定的響應者**
@param
response
響應者類名
class
類名str
* @param
selector
響應方法
str無參
*/- (
void
)transfereventtoresponse:(
id)response responseselector:(
nsstring
*)selector;
/***
傳送乙個待響應訊息給指定的響應者**
@param
response
響應者類名
class
類名str
* @param
selector
響應方法
str帶引數
* @param
args
帶乙個引數包裝成字典
*/- (
void
)transfereventtoresponse:(
id)response responseselector:(
nsstring
*)selector withargument:(
nsdictionary
*)args;
@end
#import
"uiresponder+transfer.h"
@implementation
uiresponder (transfer)
- (void
)transfereventwithname:(
nsstring
*)eventname userinfo:(
nsdictionary
*)userinfo
- (void
)transfereventtoresponse:(
id)response responseselector:(
nsstring
*)selector }}
- (void
)transfereventtoresponse:(
id)response responseselector:(
nsstring
*)selector withargument:(
nsdictionary
*)args }}
- (id
)findresponse:(
id)response
else
uiresponder
*nextresponse =
self;do
}while
(![nextresponse
iskindofclass
:c]);
return
nextresponse;}
@end
iOS中的 響應鏈
事件處理的事件傳遞 簡介 uiview不接受觸控事件的三種情況 不接收使用者互動 userinteractionenabled no 隱藏 hidden yes 透明 alpha 0.0 0.01 事件傳遞的詳細過程 主視窗會在檢視層次結構中找到乙個最合適的檢視來處理觸控事件,但是這僅僅是整個事件處...
12 響應者鏈
什麼是響應者鏈 由多個響應者物件組成的鏈。uiresponder.響應者類。ios中所有能響應事件 觸控 晃動 遠端事件 的物件都是響應 者。系統定義了 個抽象的 類uiresponder來表 響應者。其 類都 是響應者。檢測到響應者後,實現touchesbegan withevent 等 法,即處...
selector 和響應鏈
因為 swift 2.2 中 selector 的新語法,我用在 在 target action 中使用響應鏈 中的方法產生了乙個警告,讓我們來修正它。首先我們加入乙個協議 objc protocol detailshowable之後,我們可以給selector新增乙個 extension,就像 a...