Swift-全屏图像与用户交互

时间:2017-02-22 21:32:42

标签: ios swift

我意识到这个问题已经得到解答,但我在这里找到答案:

@IBAction func imageTapped(_ sender: UITapGestureRecognizer) {
let imageView = sender.view as! UIImageView
let 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))
newImageView.addGestureRecognizer(tap)
self.view.addSubview(newImageView)
}

func dismissFullscreenImage(_ sender: UITapGestureRecognizer) {
sender.view?.removeFromSuperview()
}

没有产生任何错误但是没有用,因为当我试图点击图像在模拟器中调出全屏时,没有任何反应。我启用了用户交互。 我已发布完整代码Here

感谢您的帮助。

Image one

Image two

Image three

1 个答案:

答案 0 :(得分:0)

我从你的pastebin中抓取你的代码,一切正常。点击一个小的UIImageView,它显示“全屏”...点击该图像,它就会消失。

修改:重新阅读您的评论...

(b)我试图通过故事板连接它,方法是选择imageview并尝试将其连接到IBAction,但它不允许连接插座

我认为那是你的错。您需要将Tap Gesture Recognizer连接到IBAction - imageview。

确保选择“艺术图像”时,您会看到以下内容:

enter image description here

并且,当您选择了Tap Gesture Recognizer时,这就是您所看到的:

enter image description here

我希望这不是那么简单,但是......仔细检查“启用交互”复选框,如下所示:

enter image description here