swift - UIImageView with sticker and adding Gesture on Sticker -


i have 1 imageview , sticker on want add gesture on sticker, working ,my sticker going out uiimageview's layer shown in image. want sticker's gesture within imageview's boundaries only.

enter image description here

following code:

func addstickers(image: uiimage) {      gesture = "stickers"      imgsticker  = uiimageview(frame: cgrect.init(x: 0.0, y: 0.0, width: 80, height: 80))     imgsticker.center = view.center     imgsticker.image = image     imgsticker.contentmode = uiviewcontentmode.scaleaspectfill     imgsticker.isuserinteractionenabled = true      self.view.addsubview(imgsticker)     //imgimage.addsubview(imgsticker)      pangesture = uipangesturerecognizer.init(target: self, action: #selector(handlepangesture(_:)))     pangesture.delegate = self      pinchgesture = uipinchgesturerecognizer.init(target: self, action: #selector(handlepinchgesture(_:)))     pinchgesture.delegate = self      rotategesture = uirotationgesturerecognizer.init(target: self, action: #selector(handlerotategesture(_:)))     rotategesture.delegate = self      imgsticker.addgesturerecognizer(pangesture)     imgsticker.addgesturerecognizer(pinchgesture)     imgsticker.addgesturerecognizer(rotategesture) } 

i calling function , handle methods below:

                addstickers(image: #imageliteral(resourcename: "sticker1.png")) 

func handlepangesture(_ recognizer: uipangesturerecognizer) {

    if gesture == "stickers" {         let recognizercenter = recognizer.location(in: self .view)         imgsticker.center = recognizercenter      } else {         let recognizercenter = recognizer.location(in: self.view)         txtlabel.center = recognizercenter     }  }  func handlepinchgesture(_ recognizer: uipinchgesturerecognizer) {     if gesture == "stickers" {          imgsticker.transform = imgsticker.transform.scaledby(x: recognizer.scale, y: recognizer.scale)          recognizer.scale = 1.0      } else {         txtlabel.transform = txtlabel.transform.scaledby(x: recognizer.scale, y: recognizer.scale)         recognizer.scale = 1.0     }  }  func handlerotategesture(_ recognizer: uirotationgesturerecognizer) {      if gesture == "stickers" {          imgsticker.transform = imgsticker.transform.rotated(by: recognizer.rotation)          recognizer.rotation = 0.0      } else {         txtlabel.transform = txtlabel.transform.rotated(by: recognizer.rotation)         recognizer.rotation = 0.0     }  } 


Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -