Это мой вопрос
КОНТЕКСТ
У меня есть ViewController, который дает эффект, когда панель навигации становится прозрачной, когда пользователь опускается в прокрутке, и панель навигации становится нормальной, когда пользователь переходит в вид прокрутки. Этот эффект я сделал с помощью методов UIScrollViewDelegate. Это код:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offset = scrollView.contentOffset.y;
if (scrollView.contentOffset.y < 0){
scrollView.bounces = false;
}else{
scrollView.bounces = true;
}
CGFloat currentAlpha = (offset / 310);
if (currentAlpha < 0) {
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.alpha = 1;
self.navigationController.titleNavBar.alpha = 0; //This property I made in an UINavigationController extension
} else {
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.alpha = 1;
self.navigationController.titleNavBar.alpha = currentAlpha; //This property I made in an UINavigationController extension
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:0.0f/0.0f green:136.0f/255.0 blue:206.00f/255.0f alpha:currentAlpha]];
}
}
С предыдущим кодом я получил эффект, но у меня есть проблема: я не могу добавить его в строку состояния, потому что self.navigationController.navigationBar.translucent установлен на YES. Таким образом, в iPhone строка состояния отображается прозрачной, а в iPhone X эта прозрачность выше, чем в других iPhone (см. Изображение).
Кто-нибудь знает, как я могу сделать этот прозрачный эффект с помощью панели навигации и панели статистики?