У меня есть контроллер представления, в который я могу добавить несколько подпредставлений с помощью LongPressGesture
. Для каждого subview
я предоставляю TapGesture
, который должен открывать popover
для этого представления (см. Рисунок ниже).
Моя проблема в том, что я могу открыть всплывающее окно только для последнего добавленного мной подвида. Так почему я больше не могу взаимодействовать с другими подпредставлениями? Это мое первое приложение на Swift, поэтому было бы неплохо, если бы мне кто-нибудь помог.
Код для вас:
Это LongPressGesture на контроллере представления root, который создает новое подпредставление.
@IBAction func onLongPress(_ gesture : UILongPressGestureRecognizer) {
let position: CGPoint = gesture.location(in: view)
if(gesture.state == .began) {
let subview = MySubview(position: position)
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
subview.addGestureRecognizer(tapGesture)
view.addSubview(subview)
}
else if (gesture.state == .ended) {
let subview = self.view.subviews.last
self.openContextMenu(for: subview)
}
}
ViewController с подпредставлениями: -