我有一个背景视图(UIImageView),因为我正在添加一个视图(UIView)。本contentView(UIView)包含UIPanGestureRecognizer。
我通过下面的代码将UIPanGestureRecognizer赋给contentView:
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(movePhoto:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[contentView addGestureRecognizer:panRecognizer];
[panRecognizer release];然后我通过下面的代码将这个contentView添加到背景视图(UIImageView)中:
[imgBG addSubview:contentView]; // here imgBG is Background view.但是当我移动这个contentView时,它会从imgBG中移出。
bellow是移动contentView的方法
[[[(UITapGestureRecognizer*)sender view] layer] removeAllAnimations];
[self.view bringSubviewToFront:[(UIPanGestureRecognizer*)sender view]];
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:self.view];
if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan)
{
firstX = [[sender view] center].x;
firstY = [[sender view] center].y;
}
translatedPoint = CGPointMake(firstX+translatedPoint.x, firstY+translatedPoint.y);
[[sender view] setCenter:translatedPoint];
CGFloat finalX = [sender view].center.x;
CGFloat finalY = [sender view].center.y;
[[sender view] setCenter:CGPointMake(finalX, finalY)];我认为,这里的contentView应该保留在imgBG中,因为它是imgBG的子视图。
请让我知道我的代码中是否有问题,或者是由于UIPanGestureRecognizer。
提前谢谢。
发布于 2012-02-21 17:17:42
我只是不得不这么做:
[imgBG setClipsToBounds:YES];https://stackoverflow.com/questions/9373548
复制相似问题