言葉だけでは分かりにくいので、テレビ番組表の画面で説明します。
一覧画面はタブバー + テーブルビュー (UITabBarController + UITableView) という構成になっています。
一番下の列をタップして、次の画面に移動します(Web画面)。
異動先の画面ではタブバーは非表示です。
その後、前の画面に戻ってくると、一番下の列がタブバーに隠れてしまっています。
このとき、なぜかテーブル全体の高さが、タブバーを含めた高さになってしまうので、スクロールをして上に出してもまた隠れてしまいます。
おそらく、タブバーを非表示にしたときの画面の高さがテーブルビューにも適用されてしまうのだと思います。
仕方が無いので、再表示されるときに、テーブルビューの高さを元に戻すようにしています。
- (void)viewWillAppear:(BOOL)animated { CGRect aFrame = tvListView.frame; tvListView.frame = CGRectMake(aFrame.origin.x, aFrame.origin.y, aFrame.size.width, 367.0f); ...