2015-07-03 2 views
2

Я видел этот эффект сегодня, когда заголовок панели навигации, казалось бы, начинается в представлении, а затем сжимается и перемещается вверх по заголовку навигационной панели при прокрутке страницы, а затем возвращается в исходное состояние, когда прокручивается назад.Увеличьте размер шрифта UINavigationBar на прокрутке

SoulCycle initial view SoulCycle intermediate view SoulCycle final view

Кто-нибудь есть представление о том, как это делается? Используется ли панель навигации, или она издевается с использованием UIView, который сжимается по высоте, а цвет фона темнеет? Возможно, название - это ярлык, преобразованный в UIImage и уменьшенный, а не уменьшенный размер шрифта?

Просто размышляйте о возможных методах.

Хотелось бы получить некоторые мнения по этому вопросу. Заранее спасибо.

ответ

1

Да, вы можете изменить размер шрифта и происхождение панели навигации в соответствии с вашим распознающим жестом.

navigationBar.frame.origin.y = -10 

сдвинет навигационную панель на 10 пунктов. Шрифт может быть изменен с помощью

if let font = UIFont(name: "Lato-Light.ttf", size: 34) { 
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font] 
} 

Этот формат, потому что использование принудительного разворачивать ! разобьет приложение с UIFont

В этом контексте font может быть переменной, где вы называете нормальной инициализации с таким же шрифтом и разного размера.

Эти две операции должны выполняться всякий раз, когда распознаватель жестов обновляет свое значение или положение прокрутки. Однако, возможно, вам может понадобиться перерисовать представление.