首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视图超出视图边界

视图超出视图边界
EN

Stack Overflow用户
提问于 2012-02-21 15:09:58
回答 1查看 317关注 0票数 0

我有一个背景视图(UIImageView),因为我正在添加一个视图(UIView)。本contentView(UIView)包含UIPanGestureRecognizer。

我通过下面的代码将UIPanGestureRecognizer赋给contentView:

代码语言:javascript
复制
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(movePhoto:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[contentView addGestureRecognizer:panRecognizer];
[panRecognizer release];

然后我通过下面的代码将这个contentView添加到背景视图(UIImageView)中:

代码语言:javascript
复制
[imgBG addSubview:contentView]; // here imgBG is Background view.

但是当我移动这个contentView时,它会从imgBG中移出。

bellow是移动contentView的方法

代码语言:javascript
复制
    [[[(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。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-21 17:17:42

我只是不得不这么做:

代码语言:javascript
复制
[imgBG setClipsToBounds:YES];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9373548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档