Как получить кнопку раскрытия, чтобы хорошо играть с BksplitView
-
16-10-2019 - |
Вопрос
У меня есть настройка кнопки раскрытия в простом приложении, над которым я работаю, которое использует BKToolkit
. Анкет Я подключил Disclosure
кнопка с Push On Push Off
в toggleCollapse:
Действие в разделении. Кнопка работает в аспекте, который она рухнет и правильно раскрывает панель. Он не работает правильно, чтобы удерживать свое собственное состояние в соответствии с появлением панелей.
Кнопка начинается со стрелки вверх, чтобы показать, что панель открыта. Вот последовательность событий:
- Я нажимаю кнопку, чтобы закрыть панель. Стрелка раскрытия теперь сталкивается.
- Я нажимаю кнопку, чтобы показать панель. Стрелка раскрытия все еще лицом вниз.
- Любое последующее нажатие на кнопку ничего не меняет. Стрела все еще лицом вниз.
Он анимирует правильно в первый раз, так что же случилось, последующие нажатия не изменяют состояние просмотра кнопки?
Это ошибочное состояние:
Решение
Это не то, как управление ведет себя нормально. Я собирался спросить, как вы устанавливаете его состояние, но похоже, что управление разделенным представлением в Bktoolkit записывает первый отправитель, который отправил ему сообщение об обложке, и управляет состоянием отправителя.
Например, это может быть проблемой, если у вас есть пункт меню, который также называет это поведение переключения, и вы использовали его для проверки переключения. В этом случае состояние вашей кнопки не будет обновлено.
Я не вижу простого решения, так как это поведение жестко подключено в коде Bktoolkit Split View. Возможно, ваши элементы управления должны вызвать ваш собственный Переключайте метод в одном из контроллеров вашего приложения, установив непосредственное состояние коллапса (так что все соглашается с состоянием) и самостоятельно управлять всем состоянием вашего пользовательского интерфейса.