У меня есть UIView, в этом UIView есть viewview как subview. На этом UIView применен жест щепотки. Когда этот UIView применяется с жестким жесты.
func addStickerOnView(image:UIImage,viewController:UIViewController, and imageView:CGRect)->UIView{
let contentView = UIView.init(frame: CGRect.init(x:0, y: 0, width: imageView.size.width, height: imageView.size.height))
let imageView = UIImageView.init(frame: CGRect.init(x:0, y: 0, width: imageView.size.width, height: imageView.size.height))
imageView.center=contentView.center;
imageView.contentMode = .scaleAspectFit
imageView.image = image;
imageView.isUserInteractionEnabled=true
contentView.isUserInteractionEnabled=true
contentView.addSubview(imageView)
return contentView
}
@objc func pinchedView(sender:UIPinchGestureRecognizer){
let viewDrag = sender.view
if(sender.state == UIGestureRecognizerState.began){
sender.scale = 1
selectedSticker = viewDrag!
viewDrag?.layer.borderColor=UIColor.black.cgColor
viewDrag?.layer.borderWidth=1.0
}else if(sender.state == UIGestureRecognizerState.ended){
selectedSticker = viewDrag!
viewDrag?.layer.borderColor=UIColor.clear.cgColor
viewDrag?.layer.borderWidth=1.0
print("frame of sticker view %@",selectedSticker)
globalFrame = selectedSticker.bounds
}
self.view.bringSubview(toFront: viewDrag!)
selectedSticker.transform = selectedSticker.transform.scaledBy(x: sender.scale, y: sender.scale)
lastTouchedView=selectedSticker
print("selectedSticker.frame.new",selectedSticker.frame)
sender.scale = 1.0
}
У меня есть флип-действие, которое переворачивает изображение внутри uiview.
func flipAction(){
selectedSticker.bounds = globalFrame
if(isSelected){
if((lastTouchedView) != nil){
selectedSticker.transform = CGAffineTransform(scaleX: -1, y: 1)
}
isSelected=false
}
else{
if(lastTouchedView != nil){
selectedSticker.transform = CGAffineTransform(scaleX: 1, y: 1)
}
isSelected=true
}
}
else{
if(lastTouchedView != nil){
if(lastTouchedView==textContentView){
lastTouchedView.isHidden=true
textStickerViewHeightConstraints.constant=50
}else{
lastTouchedView.removeFromSuperview()
}
}
}
}
Проблема, с которой я сталкиваюсь, заключается в следующем: - После ущемления размер uiview становится маленьким, но когда я его отпускаю и переворачиваю, он принимает свой первоначальный размер.
Как сохранить размер uiview после того, так что если он (50,50) на щепотке, то он переворачивается с учетом (50,50) только не исходного, т. е. (150,150)