我希望有人可以帮助我.我试图允许用户在UIImageView上捏缩放(允许最大和最小级别).但由于某种原因,它不能正常工作.图像缩放一点,然后反弹回来.谢谢.
这是缩放功能
func zoom(sender:UIPinchGestureRecognizer) {
if sender.state == .Ended || sender.state == .Changed {
let currentScale = self.view.frame.size.width / self.view.bounds.size.width
var newScale = currentScale*sender.scale
if newScale < 1 {
newScale = 1
}
if newScale > 9 {
newScale = 9
}
let transform = CGAffineTransformMakeScale(newScale, newScale)
self.imageView?.transform = transform
sender.scale = 1
}
}
Run Code Online (Sandbox Code Playgroud) 我设法让我的应用程序放大我的图像,如果我双击它,但它不放大我双击的地方!我希望图像以我双击的坐标为中心!
我的代码:
在.h文件中:
- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer;
Run Code Online (Sandbox Code Playgroud)
在.m文件中:
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self.scroll addGestureRecognizer:doubleTap];
- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer {
if(self.scroll.zoomScale > scroll.minimumZoomScale)
[self.scroll setZoomScale:scroll.minimumZoomScale animated:YES];
else
[self.scroll setZoomScale:1.6 animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
接下来我该怎么办?
提前致谢!
/一个菜鸟
下面的Swift代码管理放大和缩小UIImage内部a UIScrollView.
双击时,图像放大到中心并缩小到中心.
题:
需要进行哪些代码更改才能将放大点设置为用户在屏幕上触摸的图像区域的中心?
(例如,如果用户双击图像的左上角,图像将相应地放大图像的左上角.)
class ScrollViewController: UIViewController, UIScrollViewDelegate {
var scrollView: UIScrollView!
var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView = UIImageView(image: UIImage(named: "image.png"))
scrollView = UIScrollView(frame: view.bounds)
scrollView.backgroundColor = UIColor.blackColor()
scrollView.contentSize = imageView.bounds.size
scrollView.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
scrollView.contentOffset = CGPoint(x: 1000, y: 450)
scrollView.addSubview(imageView)
view.addSubview(scrollView)
scrollView.delegate = self
setZoomScale()
setupGestureRecognizer()
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return imageView
}
override func viewWillLayoutSubviews() {
setZoomScale()
}
func setZoomScale() {
let imageViewSize = imageView.bounds.size …Run Code Online (Sandbox Code Playgroud) ios ×2
swift ×2
uiscrollview ×2
center ×1
iphone ×1
optimization ×1
uiimage ×1
uiimageview ×1
zoom ×1