Я ориентируюсь на iOS7 в своем последнем приложении, и нажатие на строку состояния, похоже, не прокручивает tableView или collectionView вверх.
Я установил self.tableView.scrollsToTop = true
, но ничего не происходит.
Я знаю, что Apple значительно изменила строку состояния в iOS7, но не нарушили ли эти изменения функциональность scrollsToTop
?
Обновить
В ответ на комментарий в одном из ответов я проверил, чтобы убедиться, что мое представление коллекции действительно было единственным прокруткой на экране, и это было:
(lldb) po [self.view recursiveDescription]
<UIView: 0x1092ddf0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x109357e0>>
| <UICollectionView: 0x11351800; frame = (0 0; 320 568); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x10966080>; layer = <CALayer: 0x109623a0>; contentOffset: {0, -64}> collection view layout: <UICollectionViewFlowLayout: 0x10940a70>
| | <UIImageView: 0x10965fa0; frame = (0 564.5; 320 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x10965ee0>> - (null)
| | <UIImageView: 0x10948f60; frame = (316.5 561; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x10966030>> - (null)
Обновление №2
Не уверен, что это имеет значение, но я использую стандартный навигационный контроллер iOS7, где панель навигации прозрачна и применяет размытие к моей коллекции/таблице, когда они прокручиваются внизу.
Обновление №3
Догадаться. Оказывается, у меня действительно было более одного scrollView на экране. В моем приложении есть меню левого ящика под основной частью приложения, и в этом меню есть tableView для параметров. Я просто установил self.menuTable.scrollsToTop = false
, и все остальное приложение работало, как и ожидалось. Не нужно было реализовывать методы scrollView Delegate или что-то в этом роде.