我意识到这个问题已经得到解答,但我在这里找到答案:
@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
感谢您的帮助。
答案 0 :(得分:0)
我从你的pastebin中抓取你的代码,一切正常。点击一个小的UIImageView,它显示“全屏”...点击该图像,它就会消失。
修改:重新阅读您的评论...
(b)我试图通过故事板连接它,方法是选择imageview并尝试将其连接到IBAction,但它不允许连接插座
我认为那是你的错。您需要将Tap Gesture Recognizer连接到IBAction - 不 imageview。
确保选择“艺术图像”时,您会看到以下内容:
并且,当您选择了Tap Gesture Recognizer时,这就是您所看到的:
我希望这不是那么简单,但是......仔细检查“启用交互”复选框,如下所示: