UIViewとUIScrollViewを隣接させるFirstViewControllerがあり、UIScrollViewにUITableViewがあります。UITableViewでスクロールが無効になっているため、UIScrollViewのcontentSizeを大きくして、完全なUITableViewを表示できるようにします。
___________________________________
| |
| |
| |
-----------Various content---------
| |
| |
| |
___________________________________
| |
| |
| |
| |
| UITableView |
| |
| |
| |
|_________________________________|
UIScrollViewのある時点でcontentOffset=/ = 0になり、UITableViewのセルを押すと、新しいコントローラー(SecondViewController)がモーダルに表示されます。これは正常に機能します。SecondViewControllerを閉じると、FirstViewControllerのコンテンツが台無しになります。
UITableViewは、最初は画面の中央(垂直方向)に原点を持つように設定されています。SecondViewControllerを閉じると、UITableViewの原点は画面の中央にありますが、UITableViewの上にあるコンテンツは、contentOffsetの値(SecondViewControllerをプッシュする前の状態)でUIScrollVIew内にプッシュされます。
___________________________________
| |
-----------Various content---------
| |
| |
| |
| |
| |
___________________________________
| |
| |
| |
| |
| UITableView |
| |
| |
| |
|_________________________________|
編集:UIScrollViewの_startOffsetYが変更されていることを発見しました。そして、これがそれと関係があるかどうかはわかりませんが、ページングは無効になっています。