自定义UIView addTarget?
问题描述:
我正在创建一个自定义UIView
。我想知道如何在UIView
上复制UIButton
行为。自定义UIView addTarget?
我希望能够拨打addTarget
就像UIButton
。
我知道,我可以继承UIControl
,并呼吁
self.sendActionsForControlEvents(UIControlEvents.TouchUpInside);
但我想做到这一点上UIView
,因为我设计它放在一个XIB文件。
答
可以使用UITapGestureRecognizer
,将其添加在查看程序如下
self.userInteractionEnabled = true
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "viewTapped:")
gesture.numberOfTapsRequired = 1
self.addGestureRecognizer(gesture)
和实施选择,您还可以添加手势使用厦门国际银行
答
有一个简单的方法来实现这一目标进行查看。
- >转到您的类的Interface Builder构建器>>选择要添加动作的视图>>然后将IDENTITY INSPECTOR中的自定义类从UIView更改为'UIControl'。
- >现在你可以添加任何IBAction方法到这个视图。
它的工作就像魅力。 快乐编码。 希望它可以帮助
答
这将是更好,如果我们谈论swift3或SWIFT 4
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(targetViewDidTapped))
gesture.numberOfTapsRequired = 1
targetView?.isUserInteractionEnabled = true
targetView?.addGestureRecognizer(gesture)
添加UIControl与Backgound色彩清晰的自定义视图边界再加入目标是UIControl否则添加TapGesture到视图 – TamilKing