2016-11-10 6 views
0

Я пытаюсь переместить одно изображение на базовое изображение.Перемещение UIView в UIImageView UIImage в Swift

Если я перемещаю то, что UIView, оно пересекает UIImageView's изображение.

Как ограничить UIView's перейти в UIImageView's изображений? Он должен поддерживать квадрат и прямоугольник. Перемещение взгляда не должно пересекать границу.

Просьба направлять меня.

В снимках экрана, UIImageView Цвет фона - черный цвет. Перемещение UIView в белом цвете. Белый цветной вид пересекает его изображение [Screen Shot 2]. Как ограничить изображение?

Код:

@IBAction func panAcn(sender: UIPanGestureRecognizer) { 

    if sender.state == .Began || sender.state == .Changed { 

     let translation = sender.translationInView(self.myImgVw) 
     // note: 'view' is optional and need to be unwrapped 
     sender.view!.center = CGPointMake(sender.view!.center.x + translation.x, sender.view!.center.y + translation.y) 
     sender.setTranslation(CGPointMake(0,0), inView: self.myImgVw) 
    } 
} 

Необходимость выхода:

enter image description here

Мой выход

enter image description here

+0

добавить UIView на UIImageView и показать код. – Sahil

+0

Я отредактировал. @Sahil –

+0

Является ли UIView подвид UIImageView? – dfd

ответ

0

Вы можете попробовать это:

@IBAction func panAcn(sender: UIPanGestureRecognizer) { 

    if sender.state == .Began || sender.state == .Changed { 

     let translation = sender.translationInView(self.myImgVw) 
     // note: 'view' is optional and need to be unwrapped 
     guard let view = sender.view else { return } 
     var newFrame = view.frame 
     newFrame.origin.x = max(self.myImgVw.frame.origin.x, view.frame.origin.x + translation.y) 
     newFrame.origin.y = max(self.myImgVw.frame.origin.y, view.frame.origin.y + translation.y) 
     view.frame = newFrame   
    } 
} 
+0

Не работает @bobby –

+0

Необходимо перемещать вид внутри вида изображения –

 Смежные вопросы

  • Нет связанных вопросов^_^