В Xcode 11 и iOS 13. Мне нужно изменить стиль строки состояния, когда пользователь прокручивает просмотр таблицы или просмотр прокрутки в моем приложении.
Когда я прокручиваю представление до некоторого порогового значения, я вызываю setNeedsStatusBarAppearanceUpdate:, но кажется, что мое приложение зависло, и загрузка процессора увеличивается до 70% ~ 90%.
// Этопростой UITableviewController, только ячейка изменила backgroundColor
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y > 400 && self.lastOffsetY < 400) {
[self setNeedsStatusBarAppearanceUpdate];
}else if (scrollView.contentOffset.y < 400 && self.lastOffsetY > 400) {
[self setNeedsStatusBarAppearanceUpdate];
}
self.lastOffsetY = scrollView.contentOffset.y;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
if (self.tableView.contentOffset.y > 400) {
return UIStatusBarStyleDarkContent;
}else {
return UIStatusBarStyleLightContent;
}
}
Есть ли способ плавно реализовать спрос?