 <p>I see you're using a shared project (the Xamarin.Forms). When programming in a IOS project, you can set the ContentSize of your ScrollView to accommodate for the changing of layout (landscape, portrait).</p> <pre><code>ScrollView scrollview = new ScrollView(); scrollview.ContentSize = new RectangleF(x, y, screenHeight, screenWidth); </code></pre> <p>You can then use the override ViewDidRotate method and change the ContentSize property.</p> <p>For your example, I think you'd be best off to implement a method that gets called every time you change your screen layout, just like the ViewDidRotate method, and change the ScrollView.Content.HeightRequest to the new screensize.</p> <p>I hope this helps. Good luck!</p>