UINavigationController с настраиваемой вертикальной панелью кнопок - PullRequest
3 голосов
/ 03 декабря 2010

Мне нужно реализовать навигационное приложение с настраиваемой панелью кнопок, которая остается на вертикальном размере экрана, аналогично приложению Reeder для iPad (см. Снимок экрана Reeder ). Каков наилучший способ достижения этого результата? Я думал о добавлении панели в качестве подпредставления UINavigationController и вызова его методов (таких как pushViewController: animated :) через ссылку parentViewController из моего контроллера представления панели кнопок, но это кажется немного запутанным.

1 Ответ

0 голосов
/ 10 октября 2011

Может работать, но опасно: установить преобразование для объекта CALayer UINavigationBar. Преобразование, которое поворачивает полосу на «-1 * M_PI_2», будет почти правильным, вам может понадобиться перевести его на несколько пикселей, чтобы получить правильную позицию.

Определенно работает, но больше усилий: визуализируйте пользовательскую панель навигации, реализуйте протокол делегирования из UINavigationController, слушайте изменение навигации и реализуйте свои собственные анимации внутри обратных вызовов.

(я сделал последний метод для предоставления пользовательских UINavigationBars - он отлично работает)

Единственное предостережение с последним методом заключается в том, что ваша анимация может приостановиться / задержаться, потому что по умолчанию они ждут завершения друг друга. Если вы посмотрите на анимацию UIView, есть настройка, которая говорит: «Воспроизвести немедленно, даже если другие анимации выполняются», и вам может потребоваться установить значение YES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...