2016-06-21 82 views
-1

我正在从GitHub下载自定义日历。这是一个自定义视图,其中添加了UICollectionView以显示日期单元格。我添加了拖动单元格以获取多个日期值的功能。对于我添加UILongpressgestureUICollectionView中的长按和平移手势

我已经试过,

@property (nonatomic, strong) UILongPressGestureRecognizer *dragDateGesture; 

self.dragDateGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleDragBeginDate:)]; 
self.dragDateGesture.delegate = self; 
self.dragDateGesture.minimumPressDuration = 0.05; 
[self.collectionView addGestureRecognizer:self.dragDateGesture]; 

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)recognizer 
{ 
return YES; 
} 
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ 
return YES; 
} 
- (void)handleDragBeginDate:(UIPanGestureRecognizer *)recognizer 
{ 
NSLog(@"Gesture recognised"); 
} 

在上面的代码,我添加了长按姿态,同时设定手势识别为是。我不确定是否添加长按手势将使用UIPanGestureRecognizer getter调用handleDragBeginDate方法。我是手势概念的新手。拖拽collectionview时不会调用该方法。

这里有什么问题?任何人都可以请指导我呢?

如果我继续的方式是错误的,新的建议将不胜感激。

+0

要在日历 –

回答

1

据我所知,集合视图没有类似于表视图的编辑模式。幸运的是,someone has already solved this problem for you

+0

感谢您的答复做什么,我发现有拖选项自定义日历,https://github.com/Glow-Inc/GLCalendarView。它在模拟器中工作。但我不能将这些代码移动到我的自定义日历中... – NAZIK

+0

@NAZIK什么阻止你这样做? – lawicko

+0

我找到了解决方案,而不是在自定义视图中添加UILongPressGestureRecognizer,我在viewcontroller中添加了手势并添加了collectionview,它现在正在工作,感谢您的建议 – NAZIK

1

UICollectionView有它自己的panGestureRecognizerpinchGestureRecognizer。所以不需要添加。我建议你在委托功能中获得触摸事件。这就是其中之一:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView;