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