0

我在 UIView 内部有一个 UIImageView(占用了 UIView 的全部大小),并且 UIView 本身位于另一个 UIView 内部(并且占用了该视图空间的一小部分)。

在 IB 中,我为突出显示的状态设置了不同的图像,并为 UIImageView、其父 UIView 和其祖父 UIView 设置了用户交互启用。

但是,当我点击屏幕时,图像不会从未选择的图像变为选定的图像。

在此处输入图像描述

4

2 回答 2

3

UImageViews 不处理触摸事件。如果需要,您必须添加代码。最简单的方法是使用手势识别器。

如果您通过代码将图像视图的突出显示属性设置为“是”,那么您应该会看到突出显示的图像。

于 2013-11-13T00:46:08.037 回答
0

在这种情况下:

  1. 添加点击手势识别器
  2. 创建全局属性private var switcher = true
  3. 制作选择器

private func createGesture() {
        let tap = UITapGestureRecognizer(target: self, action: #selector(tappedImageView))
        imageView.addGestureRecognizer(tap)
}

 @objc private func tappedImageView() {
        imageView.isHighlighted = switcher
        switcher = !switcher
}

于 2019-04-17T10:16:26.930 回答