gpt4 book ai didi

swift - 当用户点击 View Controller 中的多个 UIImage 之一时,如何打印 "image x tapped"? ( swift 3)

转载 作者:行者123 更新时间:2023-11-30 12:58:15 24 4
gpt4 key购买 nike

我的 Storyboard中有一组 12 个 UIImageView,为了论证,我想让每个 View 在用户点击它时打印到日志“您刚刚点击了图像 x”,其中 x 是数字所点击图像的数量,从 1-12)。所以我需要检测哪个图像被点击,并根据该信息执行某些操作。在 Swift 3 中,最好的方法是什么?

(我假设 12 个 IBActions - 将它们视为背景上带有图像的按钮 - 是非常糟糕的代码。而且它们需要放置在背景图像顶部的特定位置,因此不能使用 UICollectionView 来执行此操作。)谢谢

最佳答案

首先,我认为使用 collectionView 是实现您想要的效果的更好方法。但是,您需要:

  • 将所有 imageView 的 userInteractionEnabled 设置为 true
  • 为所有 imageView 设置 -sequential- tag,例如 image1.tag = 1、image2.tag = 2 ...等等。
  • 实现一个方法作为所有图像点击的目标,它应该与此类似:

    func imageViewTapped(imageView: UIImageView) {
    print("您刚刚点击了图像 (imageView.tag)")
    }

  • 创建一个单击手势并将实现的方法分配给其选择器:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(imageViewTapped))

  • 最后,为所有图像添加 tapGesture,例如:image1.addGestureRecognizer(tapGesture)、image2.addGestureRecognizer(tapGesture)...等等。

希望这有帮助。

关于swift - 当用户点击 View Controller 中的多个 UIImage 之一时,如何打印 "image x tapped"? ( swift 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40163559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com