我想在另一个UIView或其他元素上拖动UICollectionViewCell。 我已经创建了UICollectionViewCell的子类。
这是我的单元类,UICollectionViewCell的子类:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
self.dragObject=self;
self.homePosition = CGPointMake(self.frame.origin.x,
self.frame.origin.y);
[self.superview.superview bringSubviewToFront:self];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint touchPoint = [[touches anyObject] locationInView:self.superview];
CGRect newDragObjectFrame = CGRectMake(touchPoint.x - touchOffset.x,
touchPoint.y - touchOffset.y,
self.frame.size.width,
self.frame.size.height);
self.frame = newDragObjectFrame;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGRect newFrame = CGRectMake(self.homePosition.x, self.homePosition.y,
self.frame.size.width,
self.frame.size.height);
[UIView animateWithDuration:0.2
animations:^{
self.frame = newFrame;
}];
}
我可以在UICollectionView中拖放任何UICollectionViewCell。但是我不能在屏幕上的另一个元素上拖动一个单元格。例如,另一个UICollectionView或UIView。
如果我将clipToBounds属性设置为“false”,那么我可以在任何地方拖动一个单元格,但它不会隐藏溢出内容,如滚动单元格。
在此图片中, clipToBounds = false:
答案 0 :(得分:1)
我不知道是否可能,但为什么你不只是把UIView放在UICollectionViewCell上并拖动这个UIView? 当用户尝试拖动单元格时,只需隐藏单元格并添加一个类似于单元格的UIView。