最新のアプリで iOS7 をターゲットにしていますが、ステータス バーをタップしても、tableView または collectionView が一番上にスクロールされないようです。
設定しましたがself.tableView.scrollsToTop = true
、まだ何も起こりません。
Apple が iOS7 でステータス バーを大幅に変更したことは知っていますが、これらの変更によってscrollsToTop
機能が損なわれたのでしょうか?
アップデート
回答の 1 つのコメントに応えて、コレクション ビューが実際に画面上の唯一の scrollView であることを確認するためにテストしました。
(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
問題があるかどうかはわかりませんが、navigationBar が透明で、下にスクロールするときにコレクション/tableViews にぼかしを適用する標準の iOS7 NavigationController を使用しています。
アップデート #3
理解した。画面に複数の scrollView があったことがわかりました。私のアプリには、アプリのメイン部分の下に左のドロワー メニューがあり、そのメニューにはオプション用の tableView があります。設定するだけself.menuTable.scrollsToTop = false
で、アプリの残りの部分ですべてが期待どおりに機能しました。scrollView Delegate メソッドなどを実装する必要はありませんでした。