Ios 是否根据父图幅限制图像拖动?
我的代码基于以下问题:Ios 是否根据父图幅限制图像拖动?,ios,swift,uiimage,screenshot,snapshot,Ios,Swift,Uiimage,Screenshot,Snapshot,我的代码基于以下问题: panaction和pinaction是平移和锁定手势的动作,showEditedImage仅使用其父视图作为裁剪区域从图像中获取屏幕截图 问题-我不想限制拖动和调整其父视图边界的图像大小。因此,例如UIImageView应该允许x class ViewController: UIViewController { @IBOutlet weak var preview: UIImageView! @IBOutlet weak var containerVi
panaction
和pinaction
是平移和锁定手势的动作,showEditedImage
仅使用其父视图作为裁剪区域从图像中获取屏幕截图
问题-我不想限制拖动和调整其父视图边界的图像大小。因此,例如UIImageView
应该允许x
class ViewController: UIViewController {
@IBOutlet weak var preview: UIImageView!
@IBOutlet weak var containerView: UIView!
@IBOutlet weak var transformedImg: UIImageView!
//save edited image
var resultsImg : UIImage!
override func viewDidLoad() {
resultsImg = UIImage()
super.viewDidLoad()
let image = UIImage(named: "image-analysis")!
let ratio = image.size.width / image.size.height
if containerView.frame.width > containerView.frame.height {
let newHeight = containerView.frame.width / ratio
preview.frame.size = CGSize(width: containerView.frame.width, height: newHeight)
} else {
let newWidth = containerView.frame.height * ratio
preview.frame.size = CGSize(width: newWidth, height: containerView.frame.height)
}
preview.image = image
}
@IBAction func showEditedImage(_ sender: Any) {
UIGraphicsBeginImageContextWithOptions(containerView.bounds.size, false, UIScreen.main.scale)
containerView.drawHierarchy(in: containerView.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
transformedImg.image = image
}
@IBAction func pinchaction(_ sender: UIPinchGestureRecognizer) {
preview.transform = preview.transform.scaledBy(x: sender.scale, y: sender.scale)
sender.scale = 1
}
@IBAction func panaction(_ sender: UIPanGestureRecognizer) {
let point = sender.translation(in: self.containerView)
preview.transform = preview.transform.translatedBy(x: point.x, y: point.y)
sender.setTranslation(CGPoint.zero, in: self.containerView)
}
}