Table of Contents

Class IosAvaloniaAppDelegate<TUi>

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

Represents the Avalonia UI's application delegate on iOS: a head's app delegate derives from it, says how its app starts (CreateInitParams()), and carries only what the system reads, its [Register] name.

public abstract class IosAvaloniaAppDelegate<TUi> : AvaloniaAppDelegate<TUi>, IEquatable<NSObject>, INSObjectProtocol, IUIActivityItemsConfigurationProviding, IUIPasteConfigurationSupporting, IUIResponderStandardEditActions, IUIUserActivityRestoring, IUIApplicationDelegate, INativeObject, IDisposable, IAvaloniaAppDelegate where TUi : Application, IAvaloniaUi, new()

Type Parameters

TUi

The UI's application.

Inheritance
NSObject
UIResponder
AvaloniaAppDelegate<TUi>
IosAvaloniaAppDelegate<TUi>
Implements
IEquatable<NSObject>
INSObjectProtocol
IUIActivityItemsConfigurationProviding
IUIPasteConfigurationSupporting
IUIResponderStandardEditActions
IUIUserActivityRestoring
IUIApplicationDelegate
INativeObject
IAvaloniaAppDelegate
Inherited Members
AvaloniaAppDelegate<TUi>.CustomizeAppBuilder(AppBuilder)
AvaloniaAppDelegate<TUi>.GetConfiguration(UIApplication, UISceneSession, UISceneConnectionOptions)
AvaloniaAppDelegate<TUi>.FinishedLaunching(UIApplication, NSDictionary)
AvaloniaAppDelegate<TUi>.OpenUrl(UIApplication, NSUrl, NSDictionary)
AvaloniaAppDelegate<TUi>.ContinueUserActivity(UIApplication, NSUserActivity, UIApplicationRestorationHandler)
AvaloniaAppDelegate<TUi>.Window
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.ClassHandle
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 starts when Avalonia asks for the app builder; the UI then gets the app's API in process, and its content from the UI content the app's options name, in the shipped heads a zip in the app bundle.

Constructors

IosAvaloniaAppDelegate()

Initializes a new instance of the IosAvaloniaAppDelegate<TUi> class.

protected IosAvaloniaAppDelegate()

Remarks

Where the UI is a VpnHoodAvaloniaAppBase, the first file the app is opened with, or a link other than http or https, goes to it to import as an access key.

Methods

CreateAppBuilder()

protected override AppBuilder CreateAppBuilder()

Returns

AppBuilder

Remarks

It starts the app, then the UI over the app's API in process, and sets the UI context.

Exceptions

InvalidOperationException

The init params name no storage folder, or an App Group without a container; the platform has no local app data folder; the resolved storage folder has no parent; or the app's options name no UI content.

CreateInitParams()

Creates the head's init params: the app's, and the two iOS facts the platform builds its device from.

protected abstract IosInitParams CreateInitParams()

Returns

IosInitParams

The init params.

GetSupportedInterfaceOrientations(UIApplication, UIWindow?)

Gets the orientations the app allows a window, in place of the Info.plist's: portrait only on an iPhone, as the UI's wide layout is for an iPad, and all on an iPad.

[Export("application:supportedInterfaceOrientationsForWindow:")]
public UIInterfaceOrientationMask GetSupportedInterfaceOrientations(UIApplication application, UIWindow? forWindow)

Parameters

application UIApplication

The app.

forWindow UIWindow

The window, or null.

Returns

UIInterfaceOrientationMask

The orientations.