Как получить кнопку раскрытия для приятной игры с BKSplitView
У меня есть настройка кнопки раскрытия в простом приложении, над которым я работаю BKToolkit
, Я подключил Disclosure
кнопка с Push On Push Off
к toggleCollapse:
действие в SplitView. Кнопка работает в том смысле, что она сворачивается и правильно отображает панель. Он не работает правильно, чтобы поддерживать свое собственное состояние в соответствии с внешним видом панелей.
Кнопка начинается со стрелки вверх, показывая, что панель открыта. Вот последовательность событий:
- Я нажимаю кнопку, чтобы закрыть панель. Раскрытие стрелки теперь направлено вниз.
- Я нажимаю кнопку, чтобы открыть панель. Раскрытие стрелки все еще направлено вниз.
- Любые последующие нажатия на кнопку ничего не изменят. Стрелка все еще направлена вниз.
Он правильно анимирует в первый раз, так что происходит при последующих нажатиях, не меняющих состояние просмотра кнопки?
Это ошибочное состояние:
1 ответ
Это не то, как управление ведет себя нормально. Я собирался спросить, как вы устанавливаете его состояние, но похоже, что элемент управления разделенным представлением в BKToolkit записывает первого отправителя, который отправит ему сообщение переключения, и после этого управляет состоянием этого отправителя.
Это может быть проблемой, например, если у вас есть пункт меню, вызывающий это поведение переключения, и вы использовали его для проверки переключения. В этом случае состояние вашей кнопки не будет обновлено.
Я не вижу простого решения, так как это поведение жестко запрограммировано в коде разделенного представления BKToolkit. Возможно, ваши элементы управления должны вызывать свой собственный метод переключения в одном из контроллеров вашего приложения, устанавливая состояние коллапса напрямую (так что все согласуется с состоянием) и управляя всем состоянием вашего пользовательского интерфейса самостоятельно.