Как мне заставить UINavigationBar реагировать на нажатия?
-
22-07-2019 - |
Вопрос
У меня есть настройка TableViewController / NavController.Я хочу нажать на навигационную панель NavController, чтобы вернуть TableView обратно в верхнюю строку.Я вижу, что панель навигации является подклассом UIView, но мне неясно, нужно ли мне ее подклассировать и реализовать методы последовательности касаний.
Я построил иерархию представлений в IB, поэтому мне неохота создавать все это программно только для того, чтобы включить нажатие на панель навигации.
Спасибо, Даг
Решение
Операционная система уже определяет жест "коснитесь строки состояния", означающий "прокрутите до верхней части текущего представления". UIScrollView
имеет свойство scrollsToTop
который контролирует это поведение, и UITableView
наследует это.
Другие советы
Вы можете изменить, к какому подклассу относится любой элемент в interface builder.Просто создайте свой подкласс, добавьте его в свой проект XCode, и тогда вы сможете ввести его в качестве класса вместо обычного значения.
Для простого примера того, как переопределить класс, посмотрите здесь.