github三方庫前100之BlocksKit

附上github地址。。https://github.com/zwaldowski/BlocksKit

簡單來講,就是對開發(fā)所有控件進(jìn)行了block 封裝,個人覺得沒必要去深究,很初級,但是作者寫代碼的這種精神非常不錯,這個地方,對他擴(kuò)展的uiview進(jìn)行分析。。其他的能夠用到的。。

直接進(jìn)入正題。使用方法如下


下邊分析三方庫方法,看看都寫了些什么

看他寫的方法得出,給UIview 增加類別,作用為增加點擊事件。。這里我們點擊- (void)bk_whenTapped:(void (^)(void))block; 進(jìn)入

- (void)bk_whenTouches:(NSUInteger)numberOfTouches tapped:(NSUInteger)numberOfTaps handler:(void (^)(void))block

{

if (!block) return;

UITapGestureRecognizer *gesture = [UITapGestureRecognizer bk_recognizerWithHandler:^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) {

if (state == UIGestureRecognizerStateRecognized) block();

}];

gesture.numberOfTouchesRequired = numberOfTouches;

gesture.numberOfTapsRequired = numberOfTaps;

[self.gestureRecognizers enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

if (![obj isKindOfClass:[UITapGestureRecognizer class]]) return;

UITapGestureRecognizer *tap = obj;

BOOL rightTouches = (tap.numberOfTouchesRequired == numberOfTouches);

BOOL rightTaps = (tap.numberOfTapsRequired == numberOfTaps);

if (rightTouches && rightTaps) {

[gesture requireGestureRecognizerToFail:tap];

}

}];

[self addGestureRecognizer:gesture];

}


發(fā)現(xiàn)只是添加了 手勢點擊事件,并將點擊事件通過block回調(diào)出來。。

真心少。。研究2個小時這個庫,總的來說,初級,但是代碼規(guī)范和經(jīng)常非常值得學(xué)習(xí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容