@@ -11,8 +11,9 @@ import TrySwiftData
1111import Timepiece
1212
1313class ScheduleViewController : ButtonBarPagerTabStripViewController {
14+ private var hasMovedToTodaysDate = false
1415
15- let days = ConferenceDay . all
16+ private let days = ConferenceDay . all
1617
1718 fileprivate let sessionDetailsSegue = " sessionDetailsSegue "
1819
@@ -29,8 +30,17 @@ class ScheduleViewController: ButtonBarPagerTabStripViewController {
2930 buttonBarView. backgroundColor = . white
3031 settings. style. selectedBarBackgroundColor = . white
3132 buttonBarView. selectedBar. backgroundColor = . trySwiftAccentColor( )
32-
33- moveToCorrectDate ( )
33+ }
34+
35+ override func viewDidAppear( _ animated: Bool ) {
36+ super. viewDidAppear ( animated)
37+
38+ // sadly not isBeingPresented nor isMovingToParentViewController
39+ // is not working here so we have to store the state locally
40+ if !hasMovedToTodaysDate {
41+ hasMovedToTodaysDate = true
42+ moveToCorrectDate ( )
43+ }
3444 }
3545
3646 override func viewControllers( for pagerTabStripController: PagerTabStripViewController ) -> [ UIViewController ] {
@@ -42,21 +52,21 @@ class ScheduleViewController: ButtonBarPagerTabStripViewController {
4252 guard segue. identifier == sessionDetailsSegue,
4353 let navigationVC = segue. destination as? UINavigationController ,
4454 let sessionVC = sender as? UIViewController else { return }
45-
55+
4656 navigationVC. pushViewController ( sessionVC, animated: true )
4757 }
4858}
4959
5060private extension ScheduleViewController {
5161
52- func moveToCorrectDate( ) {
53- if days. count > 1 {
54- let today = Date . today ( )
55-
56- let day2 = days [ 1 ] . date
57- if today == day2 {
58- moveToViewController ( at: 1 )
59- }
60- }
62+ func moveToCorrectDate( ) {
63+ if days. count > 1 {
64+ let calendar = NSCalendar . current
65+ if let todaysIndex = days. enumerated ( )
66+ . first ( where: { calendar. isDateInToday ( $0. element. date) } )
67+ . map ( { $0. offset} ) {
68+ moveToViewController ( at: todaysIndex, animated: false )
69+ }
6170 }
71+ }
6272}
0 commit comments