Я создаю пользовательский вид из xib. Я хочу закрыть представление при касании внутри, но селектор не распознается. Я использовал его как;Непризнанная ошибка выбора при определении жестов жесты в пользовательском представлении [Swift]
- closeView
- self.closeView
- ToolTipView.closeView
ни один из них не работал. Вы знаете, что я делаю неправильно?
class ToolTipView: UIView {
@IBOutlet private var contentView:UIView?
override init(frame: CGRect) { // for using CustomView in code
super.init(frame: frame)
self.commonInit()
}
required init?(coder aDecoder: NSCoder) { // for using CustomView in IB
super.init(coder: aDecoder)
self.commonInit()
}
private func commonInit() {
NSBundle.mainBundle().loadNibNamed("ToolTipView", owner: self, options: nil)
guard let content = contentView else { return }
content.frame = self.bounds
content.autoresizingMask = [.FlexibleHeight, .FlexibleWidth]
self.addSubview(content)
}
func showTip(viewToAlign: UIView){
//some unrelated code
UIApplication.sharedApplication().keyWindow!.addSubview(contentView!)
contentView!.userInteractionEnabled = true
let tapGesture = UITapGestureRecognizer.init(target: contentView, action: #selector(self.closeView))
contentView!.addGestureRecognizer(tapGesture)
}
func closeView() {
self.removeFromSuperview()
}
}
Ваша цель должна быть 'self', а не' contentView' – dan
@dan closeView не дозвонились, когда цель самостоятельно. – mkeremkeskin
@Essenceofchickens эти изменения тоже не работают. Я думаю, проблема заключается в добавлении вида в keyWindow, но я не могу понять это. – mkeremkeskin