Как запустить Swift распознаватель жестов? - PullRequest
1 голос
/ 08 апреля 2020

Я просмотрел подобные посты о том, что распознаватели жестов не работают, и я попробовал все их решения безрезультатно. В прошлом я создал десятки распознавателей жестов, и уже несколько часов я не могу заставить его работать, и я готов утопиться.

Вот мои 3 горизонтальных стека, которые у меня есть в представление: https://imgur.com/a/HKIaNRV

Я добавил распознаватель жестов в горизонтальный стек следующим образом:

menuView.addSubview(Hstack1)
Hstack1.anchor(top: nil, left: menuView.leftAnchor, bottom: nil, right: menuView.rightAnchor, paddingTop: 0, paddingLeft: 15, paddingBottom: 0, paddingRight: 15, width: menuView.frame.width, height: 30)
Hstack1.topAnchor.constraint(equalTo: menuView.topAnchor, constant: 100).isActive = true
var tap = UITapGestureRecognizer(target: self, action: #selector(openProfileController))
Hstack1.addGestureRecognizer(tap)

Моя функция, которая должна запускаться:

@objc func openProfileController() {
    navigationController?.pushViewController(ProfileController(), animated: true)
}

Я даже пытался сделать «Профиль» кнопкой с методом действия, но это не сработало. Я также попытался добавить жест ко всему черному представлению меню, но ничего не сработало.

Редактировать: Я часами играл с видом и узнал, что у него есть что-то для сделать с рамкой представления меню. Чтобы получить слайд-меню, я перемещаю свой контроллер вида в анимации, подобной этой:

self.view.frame.origin.x = self.view.frame.origin.x + 250

Рамка меню изначально:

menuView.frame = CGRect(x: -250,y: 0, width: 250, height: view.frame.height)

Но так как это подпредставление Контроллер вида сдвигается также на 250 вправо. Визуально это именно то, что я хочу. Тем не менее, кажется, что кадр menuView не обновляется во время этой анимации и продолжает оставаться в -250, 0.

Есть идеи, как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...