我有一个UIView子类,包含几个子视图,我想拖动&拖放到UICollectionView中包含的其他UIViews之一。当拖动开始时,我想将拖动的视图从其当前的大小缩放到拖动持续时间内的较小值(原始大小过大,以至于无法首先缩放它时方便地选择放置目标)到目前为止,我有这样的:IOS拖放与缩放
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview bringSubviewToFront:self];
self.transform = CGAffineTransformMakeScale(0.3f, 0.3f);
startLocation = ([[touches anyObject] locationInView:self]);
startLocation = CGPointApplyAffineTransform(startLocation, self.transform);
}
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint pt = [[touches anyObject] locationInView:self];
float dx = pt.x - startLocation.x;
float dy = pt.y - startLocation.y;
CGPoint newCenter = CGPointApplyAffineTransform (CGPointMake(self.center.x + dx, self.center.y + dy), self.transform);
self.center = newCenter;
}
这是一个开始,因为它缩放拖动的UIView,我想它,并让我将它拖到;但是,拖动的UIView不会直接用鼠标指针移动(我在模拟器上运行)。当图像靠近模拟器屏幕的左上角时,鼠标指针&拖动视图在一起;但是当我离开屏幕的右上角时,视图不再直接用鼠标指针移动;鼠标指针似乎以大约2:1的比例移动到拖动的UIView的移动。
第二个问题是,当拖动结束时,如果该项目没有被删除,我需要将UIView返回到它的原始比例,然后再将其重新附加到它的超级视图,并且还没有完全想到如何做到这一点。
感谢任何帮助,包括有关更好方法的建议,如果我完全偏离此处。 (我知道还有其他的东西需要在隔离放置目标和放弃时完成,但我想我知道那里需要做什么)。
感谢您的任何指导。
正则表达式
好的,我明白了,我想我会发布代码,以防万一别人需要它。我在这里发现了另一篇文章,其中有类似的问题: – RegularExpression 2013-02-20 17:50:06