これは私にはちょっと奇妙に思えますが、私は iOS に慣れていないので、気づいていない明らかなことが起こっている可能性があります (矛盾している部分にアスタリスクを付けています)。
- Tab1 と Tab2 の 2 つのタブがあります。
- Tab1 は基本ビューです。
- Tab2 はマスター/ディテール タイプのデザイン パターンで、UITableViewController がマスター タブで、スクロール ビュー (UIViewController にネストされている) がディテール タブです。
- Tab2 のマスター ビューでセルをクリックすると、予想どおり詳細ビューに移動します。
- 詳細ビューを下にスクロールし、Tab1 をクリックしてから Tab2 をクリックすると、中断した (下にスクロールした) 詳細ビューがリロードされます。*
- ただし、これを行った直後に、Tab1 をクリックしてから Tab2 をクリックすると (前の手順とまったく同じこと)、ページの上部から詳細ビューが再読み込みされます。*
このコードを使用して、ページの上部から詳細ビューをリロードするように指示しました。これは、スクロール ビューを含むビュー コントローラーのクラス内にあります。
-(void)viewDidAppear:(BOOL)animated{
[self.scrollView setContentOffset:CGPointMake(self.scrollView.contentOffset.x, 0) animated:NO];
[self.scrollView setScrollEnabled:YES];
[super viewDidAppear:animated];
}
最初にタブを切り替えたとき (ステップ 5) に画面上部からスクロール ビューが表示されなかったのに、2 回目にタブを切り替えたとき (ステップ 6) にスクロール ビューが表示されたのは本当に奇妙だと思いました。画面上部からのスクロール ビュー。
何が原因である可能性がありますか?タブを複数回リロードするとき、タブはさまざまな方法でロードされますか?
どんな提案でも大歓迎です!ありがとう!