Как получить кнопку раскрытия для приятной игры с BKSplitView

У меня есть настройка кнопки раскрытия в простом приложении, над которым я работаю BKToolkit, Я подключил Disclosure кнопка с Push On Push Off к toggleCollapse: действие в SplitView. Кнопка работает в том смысле, что она сворачивается и правильно отображает панель. Он не работает правильно, чтобы поддерживать свое собственное состояние в соответствии с внешним видом панелей.

Кнопка начинается со стрелки вверх, показывая, что панель открыта. Вот последовательность событий:

  1. Я нажимаю кнопку, чтобы закрыть панель. Раскрытие стрелки теперь направлено вниз.
  2. Я нажимаю кнопку, чтобы открыть панель. Раскрытие стрелки все еще направлено вниз.
  3. Любые последующие нажатия на кнопку ничего не изменят. Стрелка все еще направлена ​​вниз.

Он правильно анимирует в первый раз, так что происходит при последующих нажатиях, не меняющих состояние просмотра кнопки?

альтернативный текстальтернативный текст

Это ошибочное состояние:

альтернативный текст

1 ответ

Решение

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

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

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

Другие вопросы по тегам