質問: swift3 xcode8 UITabBarControllerを使用し、3つのTabを作っています。 Tab ┠Navigation━ViewA ┠Navigation━ViewB ┗Navigation━ViewC ViewAをTableViewにし、スクロールできる状態にしています。 手順1ViewAにて下までスクロール 手順2tabにてViewBを選択し、ViewBを表示 手順3tabにてViewAを選択し、ViewAを表示 手順4tabにてViewAをもう一度選択 上記の手順を実施した場合、手順3完了時には 下までスクロールされた状態でViewAが表示されいると思います。 手順4を完了したときに、ViewAのTop(1番上に)にスクロールさせたいのですが swift3にてイベントの取得方法、Topにスクロールさせる方法が分かりません。 完結に言うと、Lineアプリの動きをさせたいです。 下記がわかれば良いと思うのですが。 1.tabを選択されたときのイベントの受け方 2.ViewAを表示中にViewAのTabを受けたことの判定 3.Topにスクロールさせる方法 わかる方おられますでしょうか。 宜しくお願いいたします。
回答: Lineアプリは知りませんが.. 1. 直接的には、UITabBarControllerDelegateの`tabBarController(_:didSelect:)`が呼ばれます。その他、UIViewControllerの`viewWillAppear(_:)`や`viewDidAppear(_:)`あたりも呼ばれます。 2. 1と同じですが、UIViewControllerの方は呼ばれません。 3. UITableViewの`scrollToRow(at:at:animated:)`を使って下さい。