Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS17 scroll indicators missing #1007

Closed
wutschel opened this issue Mar 14, 2024 · 7 comments · Fixed by #1056
Closed

iOS17 scroll indicators missing #1007

wutschel opened this issue Mar 14, 2024 · 7 comments · Fixed by #1056

Comments

@wutschel
Copy link
Collaborator

wutschel commented Mar 14, 2024

When building with Xcode 15 or Xcode 14.3.1 the scroll indicator for UITableView is visible on iOS 15 simulator, but not on iOS 17. The indicator is enabled in xib, and also enabling explicitly via [dataList setShowsVerticalScrollIndicator:YES] shows no effect. The indicator inset (same as the UITableVIew inset) and style is correct.

Was there any API change? I am not finding hints on stackoverflow.

@wutschel
Copy link
Collaborator Author

wutschel commented Mar 14, 2024

For UICollectionView (grid view) and UIScrollview (e.g. the movie details) this still works.

@wutschel
Copy link
Collaborator Author

@kambala-decapitator, can you look into this and guide me?

@kambala-decapitator
Copy link
Collaborator

also not aware of any changes in this area. Same behavior on device? Can test on the following devices:

  • iOS: 12, 17
  • iPadOS: 15, 17

@wutschel
Copy link
Collaborator Author

At least it is same on my iPhone with iOS 17.3.1. I have no access to devices with older iOS versions.

@wutschel
Copy link
Collaborator Author

Issue is gone when I comment dataList.tableHeaderView = self.searchController.searchBar; I am not clear on side effects yet.

@wutschel
Copy link
Collaborator Author

Side effects are visible in the library list views where now the list start is hidden behind the search bar.

A workaround is:

UIView *myView = [[UIView alloc] initWithFrame:self.searchController.searchBar.frame];
dataList.tableHeaderView = myView;

This keeps the layout correct and also the indicators are back. Looks like iOS17 has a problem with tableHeaderView being a search bar.

@wutschel
Copy link
Collaborator Author

After more testing I found an issue with the workaorund: The layout/inset is only correct for list which are longer than the view's height. As soon as there are shorter lists shown the tableHeaderView is always kept visible even though the insets tell different. I did not find a way to resolve this. So I hope for a fix in iOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants