这里我的要求是将一个单元格内容(即像uiimageview或uiview,uibutton any)拖到另一个单元格中。
基本上,tableview应该是网格结构。
一个简单的例子就是桌子应该像苹果的书架一样,它应该是可拖动的,就像把书拖放到不同的单元格一样。
任何人都可以帮助我实现它,任何想法和建议都会非常有用。
提前致谢。
答案 0 :(得分:0)
从附加到您要移动的视图的UIGestureRecognisers
开始。具体来说是UIPanGestureRecogniser
。像这样:
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
panGestureRecognizer.maximumNumberOfTouches = 1;
panGestureRecognizer.delegate = self;
[yourView addGestureRecognizer:panGestureRecognizer];
[panGestureRecognizer release];
...
-(void) handlePan:(UIPanGestureRecognizer *) panGesture {
switch (panGesture.state) {
case UIGestureRecognizerStateBegan:
break;
case UIGestureRecognizerStateChanged:
UIView *view = panGesture.view;
CGPoint translation = [panGesture translationInView:view];
[view setCenter:CGPointMake(view.center.x + translation.x, view.center.y + translation.y)];
[panGesture setTranslation:CGPointZero inView:view];
break;
case UIGestureRecognizerStateEnded:
break;
default:
break;
}
}
基本上,平移手势有一个位置并跟踪移动,然后将其传递到UIView
移动它的UIView
的中心属性。
您可以将特定帧定义为丢弃点,如果手势在某些点结束,则会将UIGestureRecognizerStateEnded
设置为最近的单元格({{1}})。