OfTheWolf / TwitterProfile

Nested scrolling with pager just like in Twitter and Instagram profile.
MIT License
267 stars 45 forks source link

Bottom view Scrolls to Top when tableview reloads and row height changed #19

Open mohanthakur92 opened 4 years ago

mohanthakur92 commented 4 years ago

@OfTheWolf I am using this library and i am using tableview in the bottomView i am having expand and collapse functionality when i expand and reload table the bottom view scroll ups and starts from top. Any solution is appreciated

mohanthakur92 commented 4 years ago

@OfTheWolf can you please help me in this?

OfTheWolf commented 4 years ago

@mohanthakur92 Can you share a minimum sample project to replicate this please?

mohanthakur92 commented 4 years ago

@OfTheWolf ok i will share the sample code. Basically in the bottom tabs i used tableview and when i reload tableview and scrolls it tableview moves to top (its insets changes)

hstdt commented 2 years ago

I believe it's caused by updateOverlayScrollContentSize in ContainerViewController, but my fix still not perfect.

bottom tableview/scrollview content size changed(estimatedRowHeight tableView when scrolls to bottom, or load more) --> overlayScrollView content size change --> overlayScrollView scrolls --> bottom tableview/scrollview scrolls(here causes Scrolls to Top even if revert contentOffset.Y, and drag scroll gesture will be interrupted)

CleanShot 2022-05-10 at 00 11 40
    private func updateOverlayScrollContentSize(with bottomView: UIView) {
        let contentOffsetY = overlayScrollView.contentOffset.y
        self.overlayScrollView.contentSize = getContentSize(for: bottomView)
        if contentOffsetY > 0 {
            // revert contentOffsetY after contentSize changes, but still not perfect
            self.overlayScrollView.setContentOffset(.init(x: 0, y: contentOffsetY), animated: false)
        }
    }
BH102 commented 2 years ago

@hstdt @mohanthakur92 I'm having same issue, did you guys solve it?

BH102 commented 2 years ago

When I use table view with static cell size everything works fine but when I use table view with dynamic cell size, the scrolling is lagging specially when scrolling up

hstdt commented 2 years ago

@hstdt @mohanthakur92 I'm having same issue, did you guys solve it?

No, you can try this one. https://github.com/pujiaxin33/JXPagingView

BH102 commented 2 years ago

@hstdt @mohanthakur92 I'm having same issue, did you guys solve it?

No, you can try this one. https://github.com/pujiaxin33/JXPagingView

Thank you, I've used it it's great