iOS 11 expanding navbar stops expanding after scroll up - ios

I have implemented two different tableviews. The first uses a UIViewController and a UITableView. The second uses a UITableViewController with static cells.
I currently have prefersLargeTitles = true. On the first view controller, the navbar expands as I drag down the table as expected. However, after I scroll up making the navbar shrink, letting go and pulling down on the table again does not expand the navbar and it seems to be "stuck" after that.
This is not an issue on the second controller that uses a UITableViewController.
This issue does not occur on the simulator, but has occurred on two different iPhone 7's (iOS 11.2 beta 4, iOS 11.1.2)
As you can see below, after I go to scroll back down after scrolling up, there is a slight jolt then it sticks. The navbar no longer expands after this point (it does collapse still).
Here is an example of what should occur and happens with the UITableViewController.
Is this an iOS 11 issue?

Related

How to control UIScrollView automatically scrolling on FirstResponder / Keyboard changes?

TL;DR
Is it a new feature in Xcode 14 and iOS 16 that a UIScrollView is now scrolled automatically when a view inside the ScrollView becomes firstReponder and the keyboard appears? While working on other iOS projects in earlier versions of Xcode and iOS I never came across this behaviour. Can this be controlled or deactivated?
Details:
While working with Xcode 14.0.1 on a new iOS project I noticed that an UIScrollView is now automatically scrolled when the content view becomes first responder.
Have a look at this example. I have created a new project, added a ScrollView to the ViewController and placed 12 subviews inside to fill it with some content. Subview no. 12 additionally holds a UITextField. The firstResponder status of this text field can be toggled using the top button.
When tapping on the button the TextField becomes firstResponder and the ScrollView is automatically scrolled up. However, not enough to make bring the TextField above the keyboard and make visible. Just enough to bring it above the bottom screen edge.
This does not make a lot of sense to me.
Is it possible to control this automatic scrolling or to deactivate it?
EDIT:
I have created CustomScrollView as UIScrollView subclass and did override scrollRectToVisible. When calling super.scrollRectToVisible everything works as before, but I could set a break point to see from where scrollRectToVisible is called.
The callstack shows the method scrollTextFieldToVisibleIfNecessary inside UITextField which uses delegateShouldScrollToVisibleWhenBecomingFirstResponder
However, UITextFileDelegate does not have such a method / value and scrollTextFieldToVisibleIfNecessary is also documented nowhere.
So, the question remains: How to disable this behaviour?

UINavigationBar jumps from Large Title to small one while pushing to UIViewController with embedded UITableView iOS 11

As it is said from the title, when I try to push UIViewController with UITableView in it and show LargeTitle, it shows for the very first moment and then hides to the small one.
It's weird but this bug is reproduced on 4 inch devices only.
This behavior is seems to be an Apple's bug.
Any other workarounds or nuances I missed?
Thanks for any suggestions.
Uploaded test project (GitHub)
Workarounds I found so far
Attach UITableView's top to SafeArea's top, but this approach lose effect of transparent UINavigationBar and LargeTitle collapses very fast on scrolling
Use UITableViewController instead of UIViewController+UITableView, but this approach loses known flexibility. It's not trivial to hide tableView or add subviews.
pushViewController without animation

iOS tableview appearing empty in UiBuilder

I'm using a long tableview. All of the cells are visible when I run the simulation but in the UIBuilder, only the top visible cells are showing. When I scroll further down through the table in UIBuilder, the cells are blank. This has only been an issue since I updated Xcode. Has anyone run into this issue before? I'm currently using Xcode version 7.1.1
This is a recent bug in interface builder. As a work around, change the size of the view controller in simulated metrics from inferred to freeform and increase the height until a cells render their content.

iOS8 When using VoiceOver content of the collection view is scrolled to beginning

I have simple collection view created programmatically with build in horizontal layout and 50 items. When I enable VoiceOver to speak content of each cell, scroll position is changed to beginning on first item.
I would like to preserve scroll position. Am I missing something when VoiceOver is enabled?
With voice over disabled it works without issues.
Good to mention it works without issues on iOS7. I am using xcode 6.

iOS 7 tableview no longer auto scrolling when keybaord appears

I am working on an app which I have just released an iOS7 version of. In the app I have a table view that contains text feilds in each cell. The problem is that when I tab to edit a feild that is near the bottom of the screen the keyboard appears and I cant see what I'm typing. I fixed this in iOS6 by simple listening for the event of the keybaord appearing and changing the size of the tableview so that it no longer extended to the bottom of the screen, but instead only reached to the top of they keyboar. The table view would then "automatically" scroll so that the cell was visable. This worked fine in iOS6 but as soon as I made the switch to iOS7 this no longer works... it no longer "automatically scrolls" when I change the size of the table. Does anyone know if there is a property that I need to set or something to "re-enable" this functionality?

Resources