Вид выходит за границы видимости - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть фоновое представление (UIImageView), в котором я добавляю представление (UIView). этот contentView (UIView) содержит UIPanGestureRecognizer.

Я даю UIPanGestureRecognizer для контента. Просмотреть нижеприведенный код:

UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(movePhoto:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[contentView addGestureRecognizer:panRecognizer];
[panRecognizer release];

, а затем я добавляю этот контент-вид в фоновый вид (UIImageView) по следующему коду:

[imgBG addSubview:contentView]; // here imgBG is Background view.

но когда я перемещаю этот contentView, он выходит из imgBG.

ниже - метод перемещения 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.

спасибо заранее.

1 Ответ

2 голосов
/ 21 февраля 2012

Мне просто нужно было сделать:

[imgBG setClipsToBounds:YES];
...