我在我的imageview中添加了一个UIPanGestureRecognizer,然后添加了Gesture Recognizer,但是我的imageview图像被平移到了我的视图中我想只在图像中将图像平移到视图中它是如何可能的?
我在viewdidload上写了一个代码
UIPanGestureRecognizer *pangesture=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panGestureDetected:)];
[pangesture setDelegate:self];
[self.zoomImage addGestureRecognizer:pangesture];
并且方法是
- (void)panGestureDetected:(UIPanGestureRecognizer *)recognizer
{
UIGestureRecognizerState state = [recognizer state];
if (state == UIGestureRecognizerStateBegan || state == UIGestureRecognizerStateChanged)
{
CGPoint translation = [recognizer translationInView:recognizer.view];
[recognizer.view setTransform:CGAffineTransformTranslate(recognizer.view.transform, translation.x, translation.y)];
[recognizer setTranslation:CGPointZero inView:recognizer.view];
}
}
然后在我的视图中平移imageView图像,但我希望图像仅在imageview内部进行平移,如果有可能则给我解决方案 . 这里我的原始imageview大小就像
当我添加UIPanGEstureRecognizer时,它看起来像
图像在视图中平移但我想在imageview大小内放大它请给我解决方案 .
3 回答
取
UIScrollView
并在scrollview中添加UIImageView
并在scrollview上添加pangest ..为scrollview设置委托并执行代码
UIImage对象's userInteractEnable is NO by default, so you can'与它交互 . 试试
self.zoomImage.userInteractEnable = YES
试试这个:
在
imageView
下添加另一个UIView
,使其大小与imageView
完全相同 . 然后将imageView
设置为此UIView
的子视图,将imageView
拖放到此UIView
之上(假设您使用的是StoryBoard
或xib
) .之后,如果您使用
StoryBoard
或xib
,则转到属性检查器,选择此UIView
,勾选Click Subviews
. 如果没有,只需设置view.clipsToBounds = YES;