Как получить кнопку раскрытия, чтобы красиво играть с BKSplitView

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

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

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

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

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

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

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


person coneybeare    schedule 21.01.2011    source источник


Ответы (1)


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

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

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

person Joshua Nozzi    schedule 23.01.2011