Table of Contents

Class IosWebViewController

Namespace
VpnHood.AppUi.Hosting.WebView.Ios
Assembly
VpnHood.AppUi.Hosting.WebView.Ios.dll

Represents the page's controller on iOS: the iOS chrome around the web UI, its background, status bar and safe area, with the native lifecycle handed to the shared WebViewHost.

public class IosWebViewController : UIViewController, IEquatable<NSObject>, INSObjectProtocol, IUIActivityItemsConfigurationProviding, IUIPasteConfigurationSupporting, IUIResponderStandardEditActions, IUIUserActivityRestoring, IEnumerable, INSCoding, INSExtensionRequestHandling, IUIAppearanceContainer, IUIContentContainer, IUIFocusEnvironment, IUITraitChangeObservable, IUITraitEnvironment, INativeObject, IDisposable
Inheritance
NSObject
UIResponder
UIViewController
IosWebViewController
Implements
IEquatable<NSObject>
INSObjectProtocol
IUIActivityItemsConfigurationProviding
IUIPasteConfigurationSupporting
IUIResponderStandardEditActions
IUIUserActivityRestoring
INSCoding
INSExtensionRequestHandling
IUIAppearanceContainer
IUIContentContainer
IUIFocusEnvironment
IUITraitChangeObservable
IUITraitEnvironment
INativeObject
Inherited Members
UIViewController.Add(UIView)
UIViewController.GetEnumerator()
UIViewController.AddChildViewController(UIViewController)
UIViewController.AddKeyCommand(UIKeyCommand)
UIViewController.ApplicationFinishedRestoringState()
UIViewController.AttemptRotationToDeviceOrientation()
UIViewController.BeginRequestWithExtensionContext(NSExtensionContext)
UIViewController.CanPerformUnwind(Selector, UIViewController, NSObject)
UIViewController.CanPerformUnwindDeprecated(Selector, UIViewController, NSObject)
UIViewController.ChildViewControllerForStatusBarHidden()
UIViewController.ChildViewControllerForStatusBarStyle()
UIViewController.DecodeRestorableState(NSCoder)
UIViewController.DidAnimateFirstHalfOfRotation(UIInterfaceOrientation)
UIViewController.DidMoveToParentViewController(UIViewController)
UIViewController.DidReceiveMemoryWarning()
UIViewController.DidRotate(UIInterfaceOrientation)
UIViewController.DidUpdateFocus(UIFocusUpdateContext, UIFocusAnimationCoordinator)
UIViewController.DismissMoviePlayerViewController()
UIViewController.EncodeRestorableState(NSCoder)
UIViewController.EncodeTo(NSCoder)
UIViewController.EndAppearanceTransition()
UIViewController.GetAllowedChildViewControllersForUnwinding(UIStoryboardUnwindSegueSource)
UIViewController.GetChildViewControllerContainingSegueSource(UIStoryboardUnwindSegueSource)
UIViewController.GetChildViewControllerForInterfaceOrientationLock()
UIViewController.GetContentScrollView(NSDirectionalRectEdge)
UIViewController.GetOverrideTraitCollectionForChildViewController(UIViewController)
UIViewController.GetSizeForChildContentContainer(IUIContentContainer, CGSize)
UIViewController.GetTargetViewControllerForAction(Selector, NSObject)
UIViewController.GetViewControllerForUnwind(Selector, UIViewController, NSObject)
UIViewController.LoadView()
UIViewController.LoadViewIfNeeded()
UIViewController.PreferredContentSizeDidChangeForChildContentContainer(IUIContentContainer)
UIViewController.PreferredInterfaceOrientationForPresentation()
UIViewController.PrefersInterfaceOrientationLocked()
UIViewController.PrefersStatusBarHidden()
UIViewController.PrepareForSegue(UIStoryboardSegue, NSObject)
UIViewController.PresentMoviePlayerViewController(MPMoviePlayerViewController)
UIViewController.RegisterForPreviewingWithDelegate(IUIViewControllerPreviewingDelegate, UIView)
UIViewController.RegisterForTraitChanges(Class[], NSObject, Selector)
UIViewController.RegisterForTraitChanges(Class[], Selector)
UIViewController.RegisterSceneAccessory(UISceneAccessory)
UIViewController.RemoveFromParentViewController()
UIViewController.RemoveKeyCommand(UIKeyCommand)
UIViewController.SetContentScrollView(UIScrollView, NSDirectionalRectEdge)
UIViewController.SetNeedsFocusUpdate()
UIViewController.SetNeedsStatusBarAppearanceUpdate()
UIViewController.SetNeedsUpdateContentUnavailableConfiguration()
UIViewController.SetNeedsUpdateOfHomeIndicatorAutoHidden()
UIViewController.SetNeedsUpdateOfPrefersInterfaceOrientationLocked()
UIViewController.SetNeedsUpdateOfPrefersPointerLocked()
UIViewController.SetNeedsUpdateOfScreenEdgesDeferringSystemGestures()
UIViewController.SetNeedsUpdateOfSupportedInterfaceOrientations()
UIViewController.SetNeedsUpdateOfVerticalBarConfiguration()
UIViewController.SetNeedsUpdateProperties()
UIViewController.SetOverrideTraitCollection(UITraitCollection, UIViewController)
UIViewController.ShouldAutorotate()
UIViewController.ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)
UIViewController.ShouldUpdateFocus(UIFocusUpdateContext)
UIViewController.ShowDetailViewController(UIViewController, NSObject)
UIViewController.ShowViewController(UIViewController, NSObject)
UIViewController.SystemLayoutFittingSizeDidChangeForChildContentContainer(IUIContentContainer)
UIViewController.TraitCollectionDidChange(UITraitCollection)
UIViewController.UnregisterForPreviewingWithContext(IUIViewControllerPreviewing)
UIViewController.UnregisterForTraitChanges(IUITraitChangeRegistration)
UIViewController.UnregisterSceneAccessory(UISceneAccessoryRegistration)
UIViewController.Unwind(UIStoryboardSegue, UIViewController)
UIViewController.UpdateContentUnavailableConfiguration(UIContentUnavailableConfigurationState)
UIViewController.UpdateFocusIfNeeded()
UIViewController.UpdateProperties()
UIViewController.UpdatePropertiesIfNeeded()
UIViewController.UpdateTraitsIfNeeded()
UIViewController.UpdateViewConstraints()
UIViewController.ViewDidLayoutSubviews()
UIViewController.ViewDidUnload()
UIViewController.ViewLayoutMarginsDidChange()
UIViewController.ViewSafeAreaInsetsDidChange()
UIViewController.ViewWillLayoutSubviews()
UIViewController.ViewWillTransitionToSize(CGSize, IUIViewControllerTransitionCoordinator)
UIViewController.ViewWillUnload()
UIViewController.WillMoveToParentViewController(UIViewController)
UIViewController.WillTransitionToTraitCollection(UITraitCollection, IUIViewControllerTransitionCoordinator)
UIViewController.ClassHandle
UIViewController.ActivePresentationController
UIViewController.AdditionalSafeAreaInsets
UIViewController.ArrangementViewController
UIViewController.AutomaticallyAdjustsScrollViewInsets
UIViewController.AutomaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
UIViewController.BottomLayoutGuide
UIViewController.ChildViewControllerForHomeIndicatorAutoHidden
UIViewController.ChildViewControllerForPointerLock
UIViewController.ChildViewControllerForPreferredVerticalBarBehavior
UIViewController.ChildViewControllerForScreenEdgesDeferringSystemGestures
UIViewController.ChildViewControllers
UIViewController.ContentSizeForViewInPopover
UIViewController.ContentUnavailableConfiguration
UIViewController.ContentUnavailableConfigurationState
UIViewController.DefinesPresentationContext
UIViewController.DisablesAutomaticKeyboardDismissal
UIViewController.EdgesForExtendedLayout
UIViewController.EditButtonItem
UIViewController.Editing
UIViewController.ExtendedLayoutIncludesOpaqueBars
UIViewController.ExtensionContext
UIViewController.FocusGroupIdentifier
UIViewController.FocusItemContainer
UIViewController.HidesBottomBarWhenPushed
UIViewController.InteractionActivityTrackingBaseName
UIViewController.InterfaceOrientation
UIViewController.IsBeingDismissed
UIViewController.IsBeingPresented
UIViewController.IsMovingFromParentViewController
UIViewController.IsMovingToParentViewController
UIViewController.IsViewLoaded
UIViewController.ModalInPopover
UIViewController.ModalInPresentation
UIViewController.ModalPresentationCapturesStatusBarAppearance
UIViewController.ModalPresentationStyle
UIViewController.ModalTransitionStyle
UIViewController.ModalViewController
UIViewController.NavigationController
UIViewController.NavigationItem
UIViewController.NibBundle
UIViewController.NibName
UIViewController.OverrideUserInterfaceStyle
UIViewController.ParentFocusEnvironment
UIViewController.ParentViewController
UIViewController.PerformsActionsWhilePresentingModally
UIViewController.PopoverPresentationController
UIViewController.PreferredContentSize
UIViewController.PreferredFocusEnvironments
UIViewController.PreferredFocusedView
UIViewController.PreferredScreenEdgesDeferringSystemGestures
UIViewController.PreferredStatusBarUpdateAnimation
UIViewController.PreferredTransition
UIViewController.PreferredVerticalBarBehavior
UIViewController.PrefersHomeIndicatorAutoHidden
UIViewController.PrefersPointerLocked
UIViewController.PresentationController
UIViewController.PresentedViewController
UIViewController.PresentingViewController
UIViewController.PreviewActionItems
UIViewController.ProvidesPresentationContextTransitionStyle
UIViewController.RestorationClass
UIViewController.RestorationIdentifier
UIViewController.RestoresFocusAfterTransition
UIViewController.RotatingFooterView
UIViewController.RotatingHeaderView
UIViewController.SearchDisplayController
UIViewController.SheetPresentationController
UIViewController.ShouldAutomaticallyForwardAppearanceMethods
UIViewController.ShouldAutomaticallyForwardRotationMethods
UIViewController.SplitViewController
UIViewController.Storyboard
UIViewController.SystemMinimumLayoutMargins
UIViewController.Tab
UIViewController.TabBarController
UIViewController.TabBarItem
UIViewController.Title
UIViewController.ToolbarItems
UIViewController.TopLayoutGuide
UIViewController.TraitCollection
UIViewController.TraitOverrides
UIViewController.TransitioningDelegate
UIViewController.View
UIViewController.ViewIfLoaded
UIViewController.ViewRespectsSystemMinimumLayoutMargins
UIViewController.WantsFullScreenLayout
UIViewController.WeakTransitioningDelegate
UIViewController.HierarchyInconsistencyException
UIViewController.ShowDetailTargetDidChangeNotification
UIResponder.AccessibilityDecrement()
UIResponder.AccessibilityElementDidBecomeFocused()
UIResponder.AccessibilityElementDidLoseFocus()
UIResponder.AccessibilityElementIsFocused()
UIResponder.AccessibilityIncrement()
UIResponder.AccessibilityPerformEscape()
UIResponder.AccessibilityPerformMagicTap()
UIResponder.AccessibilityScroll(UIAccessibilityScrollDirection)
UIResponder.AlignCenter(NSObject)
UIResponder.AlignJustified(NSObject)
UIResponder.AlignLeft(NSObject)
UIResponder.AlignRight(NSObject)
UIResponder.BecomeFirstResponder()
UIResponder.BuildMenu(IUIMenuBuilder)
UIResponder.CanPaste(NSItemProvider[])
UIResponder.CanPerform(Selector, NSObject)
UIResponder.CaptureTextFromCamera(NSObject)
UIResponder.ClearTextInputContextIdentifier(NSString)
UIResponder.Copy(NSObject)
UIResponder.Cut(NSObject)
UIResponder.DecreaseSize(NSObject)
UIResponder.Delete(NSObject)
UIResponder.Duplicate(NSObject)
UIResponder.Export(NSObject)
UIResponder.Find(NSObject)
UIResponder.FindAndReplace(NSObject)
UIResponder.FindNext(NSObject)
UIResponder.FindPrevious(NSObject)
UIResponder.GetProvider(UIDeferredMenuElement)
UIResponder.GetTargetForAction(Selector, NSObject)
UIResponder.IncreaseSize(NSObject)
UIResponder.MakeTextWritingDirectionLeftToRight(NSObject)
UIResponder.MakeTextWritingDirectionRightToLeft(NSObject)
UIResponder.MotionBegan(UIEventSubtype, UIEvent)
UIResponder.MotionCancelled(UIEventSubtype, UIEvent)
UIResponder.MotionEnded(UIEventSubtype, UIEvent)
UIResponder.Move(NSObject)
UIResponder.NewFromPasteboard(NSObject)
UIResponder.Paste(NSObject)
UIResponder.Paste(NSItemProvider[])
UIResponder.PasteAndGo(NSObject)
UIResponder.PasteAndMatchStyle(NSObject)
UIResponder.PasteAndSearch(NSObject)
UIResponder.PerformClose(NSObject)
UIResponder.PressesBegan(NSSet<UIPress>, UIPressesEvent)
UIResponder.PressesCancelled(NSSet<UIPress>, UIPressesEvent)
UIResponder.PressesChanged(NSSet<UIPress>, UIPressesEvent)
UIResponder.PressesEnded(NSSet<UIPress>, UIPressesEvent)
UIResponder.Print(NSObject)
UIResponder.ReloadInputViews()
UIResponder.RemoteControlReceived(UIEvent)
UIResponder.Rename(NSObject)
UIResponder.ResignFirstResponder()
UIResponder.RestoreUserActivityState(NSUserActivity)
UIResponder.Select(NSObject)
UIResponder.SelectAll(NSObject)
UIResponder.ShowWritingTools(NSObject)
UIResponder.ToggleBoldface(NSObject)
UIResponder.ToggleInspector(NSObject)
UIResponder.ToggleItalics(NSObject)
UIResponder.ToggleSidebar(NSObject)
UIResponder.ToggleUnderline(NSObject)
UIResponder.TouchesBegan(NSSet, UIEvent)
UIResponder.TouchesCancelled(NSSet, UIEvent)
UIResponder.TouchesEnded(NSSet, UIEvent)
UIResponder.TouchesEstimatedPropertiesUpdated(NSSet)
UIResponder.TouchesMoved(NSSet, UIEvent)
UIResponder.UpdateTextAttributes(UITextAttributesConversionHandler)
UIResponder.UpdateUserActivityState(NSUserActivity)
UIResponder.UseSelectionForFind(NSObject)
UIResponder.ValidateCommand(UICommand)
UIResponder.AccessibilityAssistiveTechnologyFocusedIdentifiers
UIResponder.AccessibilityCustomActions
UIResponder.AccessibilityDragSourceDescriptors
UIResponder.AccessibilityDropPointDescriptors
UIResponder.ActivityItemsConfiguration
UIResponder.CanBecomeFirstResponder
UIResponder.CanResignFirstResponder
UIResponder.EditingInteractionConfiguration
UIResponder.InputAccessoryView
UIResponder.InputAccessoryViewController
UIResponder.InputAssistantItem
UIResponder.InputView
UIResponder.InputViewController
UIResponder.IsFirstResponder
UIResponder.KeyCommands
UIResponder.NextResponder
UIResponder.PasteConfiguration
UIResponder.TextInputContextIdentifier
UIResponder.TextInputMode
UIResponder.UndoManager
UIResponder.UserActivity
NSObject.PlatformAssembly
NSObject.Dispose()
NSObject.ConformsToProtocol(NativeHandle)
NSObject.DangerousRelease()
NSObject.DangerousRetain()
NSObject.DangerousAutorelease()
NSObject.BeginInvokeOnMainThread(Selector, NSObject)
NSObject.InvokeOnMainThread(Selector, NSObject)
NSObject.SetValueForKeyPath(NativeHandle, NSString)
NSObject.GetHashCode()
NSObject.Equals(NSObject)
NSObject.ToString()
NSObject.AwakeFromNib()
NSObject.CancelPreviousPerformRequest(NSObject)
NSObject.CancelPreviousPerformRequest(NSObject, Selector, NSObject)
NSObject.Copy()
NSObject.DidChange(NSKeyValueChange, NSIndexSet, NSString)
NSObject.DidChange(NSString, NSKeyValueSetMutationKind, NSSet)
NSObject.DoesNotRecognizeSelector(Selector)
NSObject.GetDictionaryOfValuesFromKeys(NSString[])
NSObject.GetKeyPathsForValuesAffecting(NSString)
NSObject.GetMethodForSelector(Selector)
NSObject.MutableCopy()
NSObject.PerformSelector(Selector)
NSObject.PerformSelector(Selector, NSObject)
NSObject.PerformSelector(Selector, NSObject, NSObject)
NSObject.PrepareForInterfaceBuilder()
NSObject.RemoveObserver(NSObject, NSString)
NSObject.SetNilValueForKey(NSString)
NSObject.SetValueForKey(NSObject, NSString)
NSObject.SetValueForKeyPath(NSObject, NSString)
NSObject.SetValueForUndefinedKey(NSObject, NSString)
NSObject.SetValuesForKeysWithDictionary(NSDictionary)
NSObject.ValueForKey(NSString)
NSObject.ValueForKeyPath(NSString)
NSObject.ValueForUndefinedKey(NSString)
NSObject.WillChange(NSKeyValueChange, NSIndexSet, NSString)
NSObject.WillChange(NSString, NSKeyValueSetMutationKind, NSSet)
NSObject.AccessibilityAttributedUserInputLabels
NSObject.AccessibilityRespondsToUserInteraction
NSObject.AccessibilityTextualContext
NSObject.AccessibilityUserInputLabels
NSObject.DebugDescription
NSObject.Description
NSObject.RetainCount
NSObject.ChangeIndexesKey
NSObject.ChangeKindKey
NSObject.ChangeNewKey
NSObject.ChangeNotificationIsPriorKey
NSObject.ChangeOldKey

Remarks

The app must have started with its local web host, which needs the app's web content, as the page comes from it.

Properties

AllowRotation

Gets a value indicating whether the controller asks for every orientation, rather than portrait only, as the web UI is portrait first; the app's and the device's own limits still apply.

public bool AllowRotation { get; init; }

Property Value

bool

Remarks

On an iPad that shares its screen with other apps, the system may not honour the mask.

Methods

Dispose(bool)

Releases the resources used by this object.

protected override void Dispose(bool disposing)

Parameters

disposing bool

If set to true, the method is invoked directly and disposes managed and unmanaged resources. If set to false, the method is called by the garbage collector finalizer and should only release unmanaged resources.

Remarks

This method releases the resources used by this class.

This method is called by both the Foundation.NSObject.Dispose() method and the object finalizer (Foundation.NSObject.~NSObject()). When invoked by the Foundation.NSObject.Dispose() method, the disposing parameter is set to true and any managed object references that this object holds are also disposed or released. When invoked by the object finalizer, on the finalizer thread, the disposing parameter is set to false.

Calling the Foundation.NSObject.Dispose() method when the application is finished using this instance ensures that all external resources used by this managed object are released as soon as possible. Once developers have invoked the Foundation.NSObject.Dispose() method, the object is no longer useful and developers should no longer make any calls to it.

See Also

GetSupportedInterfaceOrientations()

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()

Returns

UIInterfaceOrientationMask

Remarks

Portrait, or every orientation with AllowRotation.

PreferredStatusBarStyle()

public override UIStatusBarStyle PreferredStatusBarStyle()

Returns

UIStatusBarStyle

Remarks

Light content, always, whatever the background.

ViewDidLoad()

public override void ViewDidLoad()

Remarks

It gives the app its UI context, then paints the view and makes the web view once the theme's colours are read.