SFSafariViewController has this bug that is not reproducible in Safari.
Regularly it will obscure the top of a fixed panel behind the site name / done chrome.
This happens cause internally it loses sync between actual height of the page and size of the shrinking header chrome.
Good small header
Bad small header (SF chrome should be small but it is big)
Good large header
This issue was reported elsewhere at: https://meta.stackexchange.com/questions/279792/new-ios-chat-headers-occasionally-hide-behind-safari-navigation-controls-when-vi and is an issue in iOS 9 and up (still an issue in 12.0.1)
To reproduce make a dummy app with SFViewController and navigate to a site with a fixed header such as bbs.boingboing.net then click around and browse a few topics.
Since this bug is now a couple of years old I am wondering if there is some sort of workaround that does not involve adding a general padding to the top of the header?
Minimal repro
Make a page with this HTML
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
height: 2000px;
background-color: green;
}
header {
width: 100%;
height: 50px;
background-color: red;
color: white;
position: fixed;
top: 0;
}
</style>
</head>
<body>
<header>Hello</header>
</body>
</html>
Open in SafariViewController (host it somewhere online and then email a link, gmail app in iOS uses Safari View Controller, Discourse app as well)
Scroll quickly to the bottom
Half the header is hiding.
Insets make no difference inset for top is 0, cover viewport property makes no diff.