使用 UIPanGesture 将图像的位置存储到 Objc 中 UIView 中的新位置

Posted

技术标签:

【中文标题】使用 UIPanGesture 将图像的位置存储到 Objc 中 UIView 中的新位置【英文标题】:Using UIPanGesture store the location of the image moved to new location in the UIView in Objc 【发布时间】:2016-07-20 06:45:42 【问题描述】:

我正在视图中移动 UIImage。现在,当图像移动到新位置时,我想将该图像保持在该位置并将其存储在数组中。我怎样才能做到这一点?

使用平移手势移动图像的代码是:-

- (void) handlePan: (UIPanGestureRecognizer *) recogniser 
    CGPoint point = [recognizer locationInView:_backImage];

    //Only allow movement up to within 100 pixels of the right bound of the screen
    if (point.x < [UIScreen mainScreen].bounds.size.width - 100) 

        CGRect newframe = CGRectMake(point.x, point.y, smallImageViewWidth, smallImageViewHeight);
        _centreImage.frame = newframe;
    

【问题讨论】:

【参考方案1】:

在你的 VC 中保留一个全局数组并命名

NSMutableArray *arrImagePositions = [NSMutableArray 数组];

在您的方法中,您可以将该位置存储在此数组中

- (void) handlePan: (UIPanGestureRecognizer *) recognizer


   CGPoint point = [recognizer locationInView:_backImage];

   //Only allow movement up to within 100 pixels of the right bound of the screen
   if (point.x < [UIScreen mainScreen].bounds.size.width - 100) 

    CGRect newframe = CGRectMake(point.x, point.y, smallImageViewWidth, smallImageViewHeight);
    _centreImage.frame = newframe;

    //store all location where you moved your image in array 
       if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
           [arrImagePositions addObject: newframe];
       //store here in your array.
      
    
  
  

【讨论】:

乐于帮助...如果您发现答案有帮助,请接受其他人。 :)

以上是关于使用 UIPanGesture 将图像的位置存储到 Objc 中 UIView 中的新位置的主要内容,如果未能解决你的问题,请参考以下文章

在iOS中按点偏移从中心移动图像

UipanGesture 不适用于 Uiswitch

使用 UIPanGesture 时发送到实例的无法识别的选择器

SpriteKit 中的 UIPanGesture

仅在 iPhone 上水平添加 UIPanGesture

从服务器下载时,listview 将图像存储在 android 中的位置