Предположим, что ParentView содержит UIView
, в котором есть дочерний элемент, дочерний элемент и другие подзаголовки.Swift: как определить, произошло ли в подвью?
UIViewController
прикрепляет распознаватель жестов к ParentView.
Swipes on ChildView запускает этот обработчик.
Внутри обработчика салфеток ParentView есть ли способ определить, произошло ли проворство в ChildView?
За ответ Джоша, вот попытка код, который не работает:
class TestViewController: UIViewController {
@IBOutlet weak var targetView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
initSwipeGestures()
}
fileprivate func initSwipeGestures() {
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(didViewSwipe))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(didViewSwipe))
let upSwipe = UISwipeGestureRecognizer(target: self, action: #selector(didViewSwipe))
let downSwipe = UISwipeGestureRecognizer(target: self, action: #selector(didViewSwipe))
leftSwipe.direction = .left
rightSwipe.direction = .right
upSwipe.direction = .up
downSwipe.direction = .down
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
view.addGestureRecognizer(upSwipe)
view.addGestureRecognizer(downSwipe)
}
func didViewSwipe(_ sender:UISwipeGestureRecognizer) {
let location = sender.location(in: view)
let touchedView = view.hitTest(location, with: nil)
// Ignore swipes if targetView was swiped
if touchedView == targetView {
print("YO YO YO")
}
}
}
Спасибо! Должно ли 'self' быть ParentView или ChildView? – Crashalot
Родительский вид; это в обработчике жестов салфетки. –
Хммм, похоже, не работает? Обновлен вопрос, чтобы вы могли видеть код. – Crashalot