我在 UIView 内部有一个 UIImageView(占用了 UIView 的全部大小),并且 UIView 本身位于另一个 UIView 内部(并且占用了该视图空间的一小部分)。
在 IB 中,我为突出显示的状态设置了不同的图像,并为 UIImageView、其父 UIView 和其祖父 UIView 设置了用户交互启用。
但是,当我点击屏幕时,图像不会从未选择的图像变为选定的图像。
我在 UIView 内部有一个 UIImageView(占用了 UIView 的全部大小),并且 UIView 本身位于另一个 UIView 内部(并且占用了该视图空间的一小部分)。
在 IB 中,我为突出显示的状态设置了不同的图像,并为 UIImageView、其父 UIView 和其祖父 UIView 设置了用户交互启用。
但是,当我点击屏幕时,图像不会从未选择的图像变为选定的图像。
UImageViews 不处理触摸事件。如果需要,您必须添加代码。最简单的方法是使用手势识别器。
如果您通过代码将图像视图的突出显示属性设置为“是”,那么您应该会看到突出显示的图像。
在这种情况下:
private var switcher = true
private func createGesture() {
let tap = UITapGestureRecognizer(target: self, action: #selector(tappedImageView))
imageView.addGestureRecognizer(tap)
}
@objc private func tappedImageView() {
imageView.isHighlighted = switcher
switcher = !switcher
}