Ios Swift-具有用户交互的全屏图像

Ios Swift-具有用户交互的全屏图像,ios,swift,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.background

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

@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()
}
没有产生任何错误,但不起作用,在这个意义上说,当我试图点击图像在模拟器中全屏显示时,什么都没有发生。我启用了用户交互。 我已经发布了我的完整代码

谢谢你的帮助


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

编辑:重新阅读您的评论

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

我想那是你的错误。您需要将轻触手势识别器连接到iAction,而不是图像视图

确保选择“艺术图像”后,您看到的是:

当您选择了轻触手势识别器时,您会看到:

我希望不是这么简单,但是。。。双击“已启用交互”复选框,如下所示:


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

编辑:重新阅读您的评论

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

我想那是你的错误。您需要将轻触手势识别器连接到iAction,而不是图像视图

确保选择“艺术图像”后,您看到的是:

当您选择了轻触手势识别器时,您会看到:

我希望不是这么简单,但是。。。双击“已启用交互”复选框,如下所示:


您是说imageTapped()没有执行,而newImageView没有出现?或者dismissFullScreenImage()没有执行?那么很难从您的PasteBin代码中判断,因为一切看起来都很好(即使是您发布在此处的代码)。我假设imageTapped()是(a)在IB中正确连接的iAction(b)到(c)可能是使用(d)tap识别器的UIImageView。如果是这样,IB中的一切看起来都正确吗?(a)是的,我相信是的(b)我尝试通过故事板连接它,选择imageview并尝试将其连接到iAction,但它不允许连接插座。由于某些特定原因,我不再经常使用IB。你可以做的是设置你的“原始”图像视图(你在IB中的那个),就像你在代码中有一个新的一样。在viewDidLoad()中执行此操作,设置isUserInteractionEnabled,并为其指定一个点击手势。应该可以。你是说imageTapped()没有执行,而newImageView没有出现?或者dismissFullScreenImage()没有执行?那么很难从您的PasteBin代码中判断,因为一切看起来都很好(即使是您发布在此处的代码)。我假设imageTapped()是(a)在IB中正确连接的iAction(b)到(c)可能是使用(d)tap识别器的UIImageView。如果是这样,IB中的一切看起来都正确吗?(a)是的,我相信是的(b)我尝试通过故事板连接它,选择imageview并尝试将其连接到iAction,但它不允许连接插座。由于某些特定原因,我不再经常使用IB。你可以做的是设置你的“原始”图像视图(你在IB中的那个),就像你在代码中有一个新的一样。在viewDidLoad()中执行此操作,设置isUserInteractionEnabled,并为其指定一个点击手势。应该行的。我已经更新了我的帖子。我似乎和你有着相同的联系?我只是在我的答案中添加了一个编辑-也许这是有意义的?嗯,嗯。。。。不,你的图像看起来像是把东西连接好了。如果您暂时取消了刷卡手势,会发生什么?它们没有连接到图像视图,是吗?没有,它们没有连接到图像视图。移除了它们,但仍然什么都没有。可能是sumulator吗?很遗憾,移除它们并没有起到任何作用。我已经更新了我的帖子。我似乎和你有着相同的联系?我只是在我的答案中添加了一个编辑-也许这是有意义的?嗯,嗯。。。。不,你的图像看起来像是把东西连接好了。如果您暂时取消了刷卡手势,会发生什么?它们没有连接到图像视图,是吗?没有,它们没有连接到图像视图。移除了它们,但仍然什么都没有。很遗憾,移除它们并没有起到任何作用。