2016-06-21 143 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;