andreamazz / AMScrollingNavbar

Scrollable UINavigationBar that follows the scrolling of a UIScrollView
MIT License
6.05k stars 634 forks source link

No more scrolling with iOS 15.1 #406

Open tifroz opened 2 years ago

tifroz commented 2 years ago

This can be reproduced with the demo app running iOS 15.1 (screen capture)

https://user-images.githubusercontent.com/150367/139125055-b5a61d02-5b0f-40c2-9071-fdb729dc3d02.mov

chinh-tran commented 2 years ago

https://github.com/andreamazz/AMScrollingNavbar/blob/5016bc166af5cd08676fed5d762e00e6333a88ac/Source/ScrollingNavigationController.swift#L588 Apparently moving the navbar using the frame property no longer works with iOS 15.1 (https://developer.apple.com/forums/thread/691975).

An alternative is to use CGAffineTransform, which seems to fix the issue:

navigationBar.transform = CGAffineTransform(translationX: 0, y: navigationBar.transform.ty - delta)
TheDreamsWind commented 2 years ago

I'm experiencing similar problem under iOS 14.5, and as far as i'm concerned the linked discussion has nothing to do with the library, since it modifies the nav. ber on behalf of the view controller owning it.

guicolares commented 2 years ago

Thanks @chinh-tran , I had the same bug and resolved it with this fix. May I create a PR ?

my fix branch

dongtg-1485 commented 2 years ago

@guicolares Thanks for your pull request. But when you use CGAffineTransform to update NavigationBar, topViewController.view.frame was not updated when scroll slowly. I think we need to find an other solution.

closure11 commented 2 years ago

@andreamazz Do you have any ideas about this? Apparently the main feature of this library was broken.

andreamazz commented 2 years ago

@andreamazz Do you have any ideas about this? Apparently the main feature of this library was broken.

Nope, I need to find the time to test this. Did anyone test against 15.2 beta by any chance?

dungInte commented 2 years ago

I have the same problem too. if use the transform by chinhtran it helps scroll to the top but navigation will lag frame size and title too.

anhnt2309 commented 2 years ago

Any update on this? This break my app on app store.

andreamazz commented 2 years ago

I've looked into this, honestly I don't know how to fix it, you can see during the scrolling that UIKit is fighting against both the frame change and the opacity change, I'm afraid that's not much we can do at this point. I was hoping for an issue with 15.1, but 15.2.1 behaves the same. Why did they start enforcing this with 15.1 is beyond my comprehension.

Okizeme commented 2 years ago

I think that answer from Apple might interest you: https://developer.apple.com/forums/thread/691975