0
我試圖實現一種方法來檢測tableview或collectionview的選擇,而不需要委託方法。基於UICollectionViewCell塊的選擇
我使用KVO爲selected
,但也滾動時(委託調用不滾動時執行)selected
屬性更改。
你有什麼想法如何做到這一點?
我當前的代碼如下所示:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{
if ([keyPath isEqualToString:@"selected"])
{
if (self.selected) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.selected = NO;
});
[self cellPressed];
}
}
}
我的init方法包括:
[self addObserver:self forKeyPath:@"selected" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
我的dealloc方法包括:
[self removeObserver:self forKeyPath:@"selected"];
實際上改變了與滾動視圖的交互 – 2014-10-12 22:12:31