diff --git a/VisibilityTracker.swift b/VisibilityTracker.swift index a7e928b..22c129d 100644 --- a/VisibilityTracker.swift +++ b/VisibilityTracker.swift @@ -51,13 +51,13 @@ public class VisibilityTracker: ObservableObject { let isVisible = containerBounds.contains(topLeft) || containerBounds.contains(bottomRight) let wasVisible = visibleViews[id] != nil - print("report content bounds start") - print(id) - print(bounds.width) - print(bounds.height) - print(bounds.origin) - print(containerBounds) - print("report content bounds end") + // print("report content bounds start") + // print(id) + // print(bounds.width) + // print(bounds.height) + // print(bounds.origin) + // print(containerBounds) + // print("report content bounds end") visibleViews[id] = -1 * (bounds.origin.y - containerBounds.origin.y) diff --git a/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate b/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate index 59ed540..5201292 100644 Binary files a/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate and b/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/gloss.xcodeproj/xcuserdata/saint.xcuserdatad/xcschemes/xcschememanagement.plist b/gloss.xcodeproj/xcuserdata/saint.xcuserdatad/xcschemes/xcschememanagement.plist index c945723..5c0bfdf 100644 --- a/gloss.xcodeproj/xcuserdata/saint.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/gloss.xcodeproj/xcuserdata/saint.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,89 +9,97 @@ isShown orderHint - 3 + 12 Associations (Playground) 2.xcscheme isShown orderHint - 4 + 13 Associations (Playground).xcscheme isShown orderHint - 2 + 11 MyPlayground (Playground) 1.xcscheme isShown orderHint - 6 + 9 MyPlayground (Playground) 2.xcscheme isShown orderHint - 7 + 10 MyPlayground (Playground).xcscheme isShown orderHint - 5 + 8 Tour (Playground) 1.xcscheme isShown orderHint - 9 + 6 Tour (Playground) 2.xcscheme isShown orderHint - 10 + 7 Tour (Playground).xcscheme isShown orderHint - 8 + 5 TransactionObserver (Playground) 1.xcscheme isShown orderHint - 12 + 3 TransactionObserver (Playground) 2.xcscheme isShown orderHint - 13 + 4 TransactionObserver (Playground).xcscheme isShown orderHint - 11 + 1 gloss.xcscheme_^#shared#^_ orderHint - 0 + 2 + + + SuppressBuildableAutocreation + + 85431A842905F4F500EE0760 + + primary + diff --git a/gloss/ContentView.swift b/gloss/ContentView.swift index d590737..9568fba 100644 --- a/gloss/ContentView.swift +++ b/gloss/ContentView.swift @@ -62,7 +62,7 @@ func goToRibbon(selectedRibbon: Ribbon, // @Binding var scrollId : String? // @Binding var scrollOffset : CGFloat? // @Binding var refresh : Bool - print("SELECTED RIBBON", selectedRibbon) + // print("SELECTED RIBBON", selectedRibbon) let userDefaults = UserDefaults.standard var scrollOffsetToSave = currentOffset var scrollIdToSave = currentId @@ -77,13 +77,13 @@ func goToRibbon(selectedRibbon: Ribbon, // refresh.toggle() if (selectedRibbon.id != destRibbon.id!) { - // Print("switching") + print("switching ribbons") scrollId.wrappedValue = destRibbon.scrollId - print("setting scroll offset") + // print("setting scroll offset") scrollOffset.wrappedValue = CGFloat(destRibbon.scrollOffset) - print(scrollOffset.wrappedValue) - print("end setting scroll offset") + // print(scrollOffset.wrappedValue) + // print("end setting scroll offset") refresh.wrappedValue.toggle() //scrollId = "10" @@ -93,8 +93,8 @@ func goToRibbon(selectedRibbon: Ribbon, userDefaults.set(scrollOffset.wrappedValue, forKey: "currentOffset") var updateSelectRibbon = SelectedRibbon(id: Int64(1), ribbonId: destRibbon.id!) - print("Saving selected ribbon") - print(updateSelectRibbon) + // print("Saving selected ribbon") + // print(updateSelectRibbon) do { _ = try await appDatabase.saveSelectedRibbon(&updateSelectRibbon) } catch { @@ -106,14 +106,14 @@ func goToRibbon(selectedRibbon: Ribbon, updatedRibbon.scrollId = scrollIdToSave! _ = try await appDatabase.saveRibbon(&updatedRibbon) - print("saved updatedRibbon", updatedRibbon) + // print("saved updatedRibbon", updatedRibbon) - print("UPDATED") + // print("UPDATED") scrollOffsetToSave = userDefaults.object(forKey: "currentOffset") as? CGFloat scrollIdToSave = userDefaults.object(forKey: "currentId") as? String - print("scrollOffsetToSave: ", scrollOffsetToSave) - print("scrollIdToSave: ", scrollIdToSave) + // print("scrollOffsetToSave: ", scrollOffsetToSave) + // print("scrollIdToSave: ", scrollIdToSave) } } @@ -128,7 +128,6 @@ struct SwitchButton : View { @Query(SelectedRibbonRequest()) private var sr: [Ribbon] - @State var saveOffset = CGFloat() var body: some View { // ForEach(sr) { selectedRibbon in @@ -396,13 +395,24 @@ struct ContentView: View { //gTracker!.visibleViews["123123"] = CGFloat(100) // Print("ON CHANGE", gTracker!.visibleViews) // Print("removing", gTracker!.visibleViews.removeAll()) + + Print("first scroll to") + Print(scrollId) proxy.scrollTo(scrollId! , anchor: .top) + currentId = scrollId! + Task { // try? await Task.sleep(nanoseconds: 1_000_000_000) + + // try? await Task.sleep(nanoseconds: 1_000_000_000) + proxy.scrollTo(scrollId! , anchor: .top) + DispatchQueue.main.async { // setScrollOffset = CGFloat(scrollOffset!) setScrollOffset = CGFloat(Int(currentOffset!) * -1 + Int(scrollOffset!)) + currentOffset = scrollOffset! + refresh2.toggle() } @@ -410,18 +420,18 @@ struct ContentView: View { //} } .introspectScrollView { scrollView in - Print("introspect") + // Print("introspect") // scrollView.delegate = scrollDelegate //Print("Scroll delegate offset", scrollDelegate.scrollOffset) if (setScrollOffset != nil) { - Print("Setting scroll offset in introspect", setScrollOffset) + // Print("Setting scroll offset in introspect", setScrollOffset) scrollView.contentOffset.y = scrollView.contentOffset.y + setScrollOffset! DispatchQueue.main.async { setScrollOffset = nil } } // if (thisScrollView == nil) { - Print("init scroll") + // Print("init scroll") // thisScrollView = scrollView // scrollView.contentOffset.y = CGFloat(selectedRibbon[0].scrollOffset) // } @@ -475,15 +485,15 @@ struct ContentView: View { // @Environment(\.appDatabase) var appDatabase - switch change { - case .shown: print("\(id) shown") - case .hidden: print("\(id) hidden") - } - print("VISIBILITY CHANGED STARTED") - print(tracker.visibleViews) - gTracker = tracker - print(tracker.sortedViewIDs) - print("VISIBILITY CHANGED ENDED") + // switch change { + // case .shown: print("\(id) shown") + // case .hidden: print("\(id) hidden") + // } + // print("VISIBILITY CHANGED STARTED") + // print(tracker.visibleViews) + // gTracker = tracker + // print(tracker.sortedViewIDs) + // print("VISIBILITY CHANGED ENDED") // if (currentId != nil) { // currentOffset = tracker.visibleViews[currentId!]! // } @@ -496,6 +506,7 @@ struct ContentView: View { currentId = tracker.sortedViewIDs[0] if (currentId != nil) { + print("current ID:", currentId) // Access Shared Defaults Object // let userDefaults = UserDefaults.standard @@ -510,7 +521,7 @@ struct ContentView: View { // var updateScrollState = ScrollState(id: Int64(1), // scrollId: currentId!, // scrollOffset: Int64(tracker.visibleViews[currentId!]!)) - Print("Savingg") + // Print("Savingg") //Print(updateScrollState) // Task(priority: .default) {