2015-08-11 4 views
-1

я маскировал изображение успешно с помощью следующей ссылки:Как перемещать и обрезать изображение из замаскированного изображения?

How to Mask an UIImageView

В приведенном выше ссылке есть два изображения с именем image.png и mask.png,

После маскировки изображение я хочу обрезать результат изображение.

Меня беспокоит то, что я хочу, чтобы обрезать изображение с именем image.png но mask.png должны оставаться на месте, как это. Я использую KICropImageViewhttps://github.com/zhangzhixun/CropImageDemo для обрезки изображения.

Но когда я прокручивать изображение всего моя результата изображения прокрутки, но я просто хочу, чтобы прокрутить image.png не mask.png изображения.

Любая идея, как я могу это сделать?

+0

Как вы _scroll_ в _image_? – matt

+0

Я использую https://github.com/zhangzhixun/CropImageDemo для обрезки и в этом изображении прокручивается с помощью UIScrollView. –

+0

Mmmmmm, no. То, что находится внутри прокрутки, является представлением _image_. Таким образом, вы просматриваете вид прокрутки, чтобы увидеть другую часть изображения _image_. - В любом случае это очень старый код - он даже не использует ARC! - поэтому я действительно не могу рекомендовать использовать его оптом. Вам лучше начать с нуля. – matt

ответ

0

Вы можете использовать PanGesture ..

- (void)viewDidLoad 
{ 

[super viewDidLoad]; 

UIPanGestureRecognizer *pan1 = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanImage:)]; 

self.imageview.userInteractionEnabled = YES; 

[self.imageview addGestureRecognizer:pan1]; 

} 

**after called Method handlePanImage..** 

- (void)handlePanImage:(UIPanGestureRecognizer *)sender 

{ 

static CGPoint originalCenter; 

if (sender.state == UIGestureRecognizerStateBegan) 


{ 

originalCenter = sender.view.center; 

     sender.view.alpha = 0.8; 

     [sender.view.superview bringSubviewToFront:sender.view]; 

    } 

    else if (sender.state == UIGestureRecognizerStateChanged) 

    { 
     CGPoint translation = [sender translationInView:self.view]; 

     sender.view.center = CGPointMake(originalCenter.x + translation.x, originalCenter.y + translation.y); 

    } 

    else if (sender.state == UIGestureRecognizerStateEnded || sender.state == UIGestureRecognizerStateCancelled || sender.state == UIGestureRecognizerStateFailed) 
    { 
     // do whatever post dragging you want, e.g. 
     // snap the piece into place 

     [UIView animateWithDuration:0.2 animations:^{ 
      CGPoint center = sender.view.center; 
      center.x = round(center.x/50.0) * 50.0; 
      center.y = round(center.y/50.0) * 50.0; 
      sender.view.center = center; 
      sender.view.alpha = 1.0; 
     }]; 
    } 
}