【发布时间】:2017-05-11 01:30:26
【问题描述】:
我有一个点击手势识别器连接到我的图像视图。当图像被点击时,它会变成全屏,再次点击时,它会被关闭。用户可以通过捏合来缩放图像,但是当图像被用户按住并四处移动时,它会显示背景视图。我想隐藏背景,以便在图像被关闭之前无法看到视图。我认为我提供的图片会比我通过文字更好地解释。
var newImageView: UIImageView!
@IBAction func imageTapped(_ sender: UITapGestureRecognizer) {
self.navigationController?.setNavigationBarHidden(true, animated: true)
let imageView = sender.view as! UIImageView
let scrollView = UIScrollView(frame: self.view.frame)
newImageView = UIImageView(image: imageView.image)
newImageView.frame = self.view.frame
newImageView.backgroundColor = .black
newImageView.contentMode = .scaleAspectFit
newImageView.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage))
scrollView.addGestureRecognizer(tap)
scrollView.delegate = self
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 3.0
scrollView.addSubview(newImageView)
self.view.addSubview(scrollView)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView?
{
return newImageView;
}
func dismissFullscreenImage(_ sender: UITapGestureRecognizer) {
self.navigationController?.setNavigationBarHidden(false, animated: true)
sender.view?.removeFromSuperview()
}
【问题讨论】:
-
全屏查看图像视图下的视图,并显示和隐藏该视图,与图像视图相同,也为该视图提供黑色或您想要的任何颜色
标签: ios swift uiimageview uitapgesturerecognizer