I use Xamarin.Forms to load a webpage on the Internet (client requirements, please don't judge me), the problem is that in iOS the webpage looks bigger than it is.
I don't have custom rendering on iOS.
Here is a website uploaded to safari on the iPhone 6 iOS 11.1.2 
And here it uploads to web browsing 
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:Juppie" x:Class="Juppie.MainPage"> <Grid> <WebView x:Name="Navegador" Source="http://empleosapp.caonainteractive.com/" WidthRequest="1000" HeightRequest="1000" IsVisible="{Binding Path=HayInternet}" ></WebView> <ActivityIndicator IsRunning="{Binding Path=Navegando}" IsVisible="{Binding Path=Navegando}" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.33}" RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.33}"/> </Grid> </ContentPage>
MainPage.xaml.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using Plugin.Connectivity; using System.ComponentModel; namespace Juppie { public partial class MainPage : ContentPage, INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public MainPage() { InitializeComponent(); Navegador.Navigating += Navegador_Navigating; Navegador.Navigated += (sender, e) => { Navegando = false; }; HayInternet = true; BindingContext = this; } bool hayInternet; public bool HayInternet { get { return hayInternet; } set { hayInternet = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("HayInternet")); EvaluarInternet(); } } bool navegando; public bool Navegando { get { return navegando; } set { navegando = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Navegando")); } } public async void EvaluarInternet(){ if (!HayInternet) { await DisplayAlert("Aviso","Se requiere conexion a internet para emplear esta aplicacion", "OK"); } } protected override void OnAppearing() { HayInternet = CrossConnectivity.IsSupported && CrossConnectivity.Current.IsConnected; CrossConnectivity.Current.ConnectivityChanged += (sender, args) => { HayInternet = args.IsConnected; }; base.OnAppearing(); } protected override bool OnBackButtonPressed() { if (Navegador.CanGoBack) { Navegador.GoBack(); return false; } return base.OnBackButtonPressed(); } void Navegador_Navigating(object sender, WebNavigatingEventArgs e) { Navegando = true; if (e.Url.Contains("/banner")) { e.Cancel = true; var uri = new Uri(e.Url.Replace("/banner", "")); Device.OpenUri(uri); } } } }
I tried with a custom render and set scalePageToFit = false, without success. If anyone knows how I can fix this, let me know.
source share