Reason for this addition is that the snapshot gets a zero rect if topViewController is set late in the game — in my case, after viewWillAppear is called. So I'm resetting the frame whenever topViewController is set. Fixed my use case.
Perhaps it's more appropriate to call adjustLayout instead of setting the frame directly, as the left and right viewControllers could also need updating in some scenarios which I can't fathom.
Update the snapshot's frame when setting the topViewController. Ensures the snapshot appears properly if topViewController is added late (e.g., after viewWillAppear)