Почему кнопка пользовательского интерфейса работает, но не анимирует и не указывает пользователю? - PullRequest
0 голосов
/ 08 февраля 2020

Я добавил кнопку пользовательского интерфейса внутри стекового представления, которое находится внутри табличного представления в моей раскадровке. Когда я нажимаю на кнопку, в консоли отладчика выводится правильный вывод, но в приложении нет никаких признаков того, что кнопка была нажата (без анимации по умолчанию). Я попытался посмотреть на мою иерархию представлений и изменить все родительские представления, чтобы обрезать границы. Есть идеи, почему кнопка работает, но не анимируется для пользователя?

1 Ответ

0 голосов
/ 08 февраля 2020

Быстрое решение вашей проблемы - установить delaysContentTouches = false для представления таблицы.

Согласно Apple Docs,

Если значение этого свойства равно true, представление прокрутки задерживает обработку жеста касания до тех пор, пока оно не сможет определить, предназначена ли прокрутка. Если значение равно false, представление прокрутки немедленно вызывает touchesShouldBegin (_: with: in :). Значение по умолчанию верно. См. Описание класса для более полного обсуждения.


В качестве альтернативы, если вы подклассифицировали UIScrollView, вы можете сделать то же самое, переопределив следующую функцию,

class MyScrollView: UIScrollView {

    override func touchesShouldCancel(in view: UIView) -> Bool {
        return type(of: view) == UIButton.self
    }

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