我试着在用户点击的时候分配一个UIImageView给一个动作。

我知道如何为一个UIButton创建一个动作,但我怎么能模仿一个UIButton相同的行为,但使用一个UIImageView?


当前回答

这是我发现的,更容易设置。

这是YouTube上的视频

打开库,寻找“Tap Gesture Recognizer”对象。 将对象拖到故事板中,并将委托设置为您想要触发动作的图像。 然后转到视图控制器,拖动相同的对象设置IBAction。

其他回答

你可以添加一个UITapGestureRecognizer到imageView中,只需将一个拖到你的Storyboard/xib中,从imageView中按住ctrl拖动到gestureRecognizer中,再从gestureRecognizer中按住ctrl拖动到swift文件中,即可生成IBAction。

你还需要在UIImageView上启用用户交互,如下图所示:

你需要添加一个手势识别器(对于点击使用UITapGestureRecognizer,对于点击和按住使用UILongPressGestureRecognizer)到你的UIImageView。

let tap = UITapGestureRecognizer(target: self, action: #selector(YourClass.tappedMe))
imageView.addGestureRecognizer(tap)
imageView.isUserInteractionEnabled = true

并像这样实现selector方法:

@objc func tappedMe()
{
    println("Tapped on Image")
}

这是我发现的,更容易设置。

这是YouTube上的视频

打开库,寻找“Tap Gesture Recognizer”对象。 将对象拖到故事板中,并将委托设置为您想要触发动作的图像。 然后转到视图控制器,拖动相同的对象设置IBAction。

你可以在UIImageView上面放一个带有透明背景的UIButton,并在加载图像之前监听按钮上的点击

我建议在你的imageview上放置不可见(不透明度= 0)按钮,然后处理按钮上的交互。