2015-02-14 7 views
0

В моем приложении я использую панель инструментов сверху, потому что она лучше всего отображает элементы панели бара для того, что мне нужно, и я устанавливаю делегаты панелей инструментов на контроллер представления и сообщают, что они прикреплены сверху. У меня также есть параметр, который скроет строку состояния, поэтому проблема, которая возникает, заключается в том, что когда строка состояния установлена ​​в скрытую, и приложение закрывается, а затем снова открывается, вызывается positionForBar, но поскольку нет строки состояния , он ничего не делает с панелью инструментов, поэтому, когда я поворачиваю строку состояния назад, приложение выглядит странно, а панель инструментов на 20 пикселей вниз, а строка состояния отображается, но в строке состояния нет фона, поэтому выглядит странно. positionForBar еще называют, но по какой-то причине мне нужно закрыть приложение еще раз, прежде чем панель инструментов снова зайдет за панель состояния. Я выяснил, что если я удалю панель инструментов из супервизора и снова добавлю ее, она будет зависеть от строки состояния, или я смогу удалить positionForBar, и у меня будет собственное представление для фона, моя старая проблема с это решение состоит в том, что оно не будет прозрачным (возможно, я мог бы разместить там панель инструментов 20px, возможно,?), и моя проблема с удалением и повторным добавлением представления тогда мне нужно будет переместить тонну моего кода, потому что remove он и повторное добавление его беспорядок с ограничениями, поэтому мне нужно будет полностью восстановить весь вид, чтобы он перерисовывался за панель состояния. Есть ли способ просто обновить представление или что-то еще? Я попытался setNeedsLayout и setNeedsDisplay и на самом деле ничего не работает для того, чтобы перерисовать, кроме удаления и повторного добавленияОбновление positionForBar для панели инструментов

ответ

1

Попробуйте вручную Установка кадра UIToolbar в:

topToolbar.frame = CGRectZero

или обновление ограничений, либо заставит UIToolbar для обновления своего приложения.