IUITextInput Interface

Definition

IUITextInput works with the inputting of text and allows the manipulaton of features including autocorrection and many other text input features related to document presentation.

[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertInputSuggestion", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UIInputSuggestion) }, Selector="insertInputSuggestion:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertInputSuggestion", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UIInputSuggestion) }, Selector="insertInputSuggestion:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")]
public interface IUITextInput : IDisposable, UIKit.IUIKeyInput
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertInputSuggestion", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UIInputSuggestion) }, Selector="insertInputSuggestion:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertInputSuggestion", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UIInputSuggestion) }, Selector="insertInputSuggestion:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willPresentEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillDismissEditMenu", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.IUIEditMenuInteractionAnimating) }, Selector="willDismissEditMenuWithAnimator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillPresentWritingTools", Selector="willPresentWritingTools")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidDismissWritingTools", Selector="didDismissWritingTools")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isEditable", IsProperty=true, IsRequired=false, IsStatic=false, Name="Editable", PropertyType=typeof(System.Boolean), Selector="editable")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
[<Foundation.Protocol(Name="UITextInput", WrapperType=typeof(UIKit.UITextInputWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="TextInRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(System.String), Selector="textInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, Selector="replaceRange:withText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(Foundation.NSRange) }, Selector="setMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UnmarkText", Selector="unmarkText")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetTextRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(UIKit.UITextRange), Selector="textRangeFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionFromPosition:inDirection:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ComparePosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(Foundation.NSComparisonResult), Selector="comparePosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetOffsetFromPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextPosition) }, ReturnType=typeof(System.IntPtr), Selector="offsetFromPosition:toPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPositionWithinRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:farthestInDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextLayoutDirection) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeByExtendingPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBaseWritingDirection", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSWritingDirection), Selector="baseWritingDirectionForPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBaseWritingDirectionforRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSWritingDirection), typeof(UIKit.UITextRange) }, Selector="setBaseWritingDirection:forRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetFirstRectForRange", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="firstRectForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCaretRectForPosition", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="caretRectForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetClosestPositionToPoint", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint), typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextPosition), Selector="closestPositionToPoint:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetCharacterRangeAtPoint", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, ReturnType=typeof(UIKit.UITextRange), Selector="characterRangeAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetTextStyling", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextStorageDirection) }, ReturnType=typeof(Foundation.NSDictionary), Selector="textStylingAtPosition:inDirection:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.IntPtr) }, ReturnType=typeof(UIKit.UITextPosition), Selector="positionWithinRange:atCharacterOffset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCharacterOffsetOfPosition", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition), typeof(UIKit.UITextRange) }, ReturnType=typeof(System.IntPtr), Selector="characterOffsetOfPosition:withinRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecognitionFailed", Selector="dictationRecognitionFailed")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DictationRecordingDidEnd", Selector="dictationRecordingDidEnd")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResult", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSArray) }, Selector="insertDictationResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSelectionRects", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(UIKit.UITextSelectionRect[]), Selector="selectionRectsForRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldChangeTextInRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(System.String) }, ReturnType=typeof(System.Boolean), Selector="shouldChangeTextInRange:replacementText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetFrameForDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject) }, ReturnType=typeof(CoreGraphics.CGRect), Selector="frameForDictationResultPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertDictationResultPlaceholder", ReturnType=typeof(Foundation.NSObject), Selector="insertDictationResultPlaceholder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveDictationResultPlaceholder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSObject), typeof(System.Boolean) }, Selector="removeDictationResultPlaceholder:willInsertResult:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="BeginFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="beginFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="UpdateFloatingCursor", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGPoint) }, Selector="updateFloatingCursorAtPoint:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="EndFloatingCursor", Selector="endFloatingCursor")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetCaretTransform", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPosition) }, ReturnType=typeof(CoreGraphics.CGAffineTransform), Selector="caretTransformForPosition:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertText", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String[]), typeof(UIKit.UITextAlternativeStyle) }, Selector="insertText:alternatives:style:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="SetAttributedMarkedText", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString), typeof(Foundation.NSRange) }, Selector="setAttributedMarkedText:selectedRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(CoreGraphics.CGSize) }, ReturnType=typeof(UIKit.UITextPlaceholder), Selector="insertTextPlaceholderWithSize:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="RemoveTextPlaceholder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextPlaceholder) }, Selector="removeTextPlaceholder:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetEditMenu", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(UIKit.UIMenuElement[]) }, ReturnType=typeof(UIKit.UIMenu), Selector="editMenuForTextRange:suggestedActions:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAdaptiveImageGlyph", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.NSAdaptiveImageGlyph), typeof(UIKit.UITextRange) }, Selector="insertAdaptiveImageGlyph:replacementRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="InsertAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Foundation.NSAttributedString) }, Selector="insertAttributedText:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetAttributedText", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange) }, ReturnType=typeof(Foundation.NSAttributedString), Selector="attributedTextInRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ReplaceRange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(UIKit.UITextRange), typeof(Foundation.NSAttributedString) }, Selector="replaceRange:withAttributedText:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="SelectedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="selectedTextRange", SetterSelector="setSelectedTextRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="markedTextStyle", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextStyle", PropertyType=typeof(Foundation.NSDictionary), Selector="markedTextStyle", SetterSelector="setMarkedTextStyle:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="beginningOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="BeginningOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="beginningOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="endOfDocument", IsProperty=true, IsRequired=true, IsStatic=false, Name="EndOfDocument", PropertyType=typeof(UIKit.UITextPosition), Selector="endOfDocument")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.UnsafeUnretained, GetterSelector="inputDelegate", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakInputDelegate", PropertyType=typeof(Foundation.NSObject), Selector="inputDelegate", SetterSelector="setInputDelegate:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tokenizer", IsProperty=true, IsRequired=true, IsStatic=false, Name="WeakTokenizer", PropertyType=typeof(Foundation.NSObject), Selector="tokenizer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textInputView", IsProperty=true, IsRequired=false, IsStatic=false, Name="TextInputView", PropertyType=typeof(UIKit.UIView), Selector="textInputView")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="selectionAffinity", IsProperty=true, IsRequired=false, IsStatic=false, Name="SelectionAffinity", PropertyType=typeof(UIKit.UITextStorageDirection), Selector="selectionAffinity", SetterSelector="setSelectionAffinity:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="markedTextRange", IsProperty=true, IsRequired=true, IsStatic=false, Name="MarkedTextRange", PropertyType=typeof(UIKit.UITextRange), Selector="markedTextRange")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="supportsAdaptiveImageGlyph", IsProperty=true, IsRequired=false, IsStatic=false, Name="SupportsAdaptiveImageGlyph", PropertyType=typeof(System.Boolean), Selector="supportsAdaptiveImageGlyph", SetterSelector="setSupportsAdaptiveImageGlyph:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="unobscuredContentRect", IsProperty=true, IsRequired=false, IsStatic=false, Name="UnobscuredContentRect", PropertyType=typeof(CoreGraphics.CGRect), Selector="unobscuredContentRect")>]
type IUITextInput = interface
    interface INativeObject
    interface IDisposable
    interface IUIKeyInput
    interface IUITextInputTraits
Derived
Attributes
Implements

Properties

Name Description
AllowedWritingToolsResultOptions (Inherited from IUITextInputTraits)
AllowsNumberPadPopover (Inherited from IUITextInputTraits)
AutocapitalizationType

The UITextAutocapitalizationType used by the IUITextInput.

(Inherited from IUITextInputTraits)
AutocorrectionType

The UITextAutocorrectionType used by the IUITextInput.

(Inherited from IUITextInputTraits)
BeginningOfDocument

The position of text indicating the beginning of a document.

ConversationContext (Inherited from IUITextInputTraits)
Editable
EnablesReturnKeyAutomatically

Whether the return key is automatically enabled.

(Inherited from IUITextInputTraits)
EndOfDocument

The position of text indicating the beginning of a document.

Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
HasText

Gets a value that tells whether the key input has text in it.

(Inherited from IUIKeyInput)
InlinePredictionType (Inherited from IUITextInputTraits)
KeyboardAppearance

The UIKeyboardAppearance used by the IUITextInput

(Inherited from IUITextInputTraits)
KeyboardType

The UIKeyboardType used by the IUITextInput.

(Inherited from IUITextInputTraits)
MarkedTextRange

The currently marked range of text in a given document.

MarkedTextStyle

Attribute dictionary describing how text should be drawn.

MathExpressionCompletionType (Inherited from IUITextInputTraits)
PasswordRules

The password entry rules.

(Inherited from IUITextInputTraits)
ReturnKeyType

The form of the return key for the IUITextInput.

(Inherited from IUITextInputTraits)
SecureTextEntry

Whether the entered text should be hidden.

(Inherited from IUITextInputTraits)
SelectedTextRange

The range of a document's selected text.

SelectionAffinity

A value that controls whether the cursor is displayed at the start of the last line or end of the second-to-last line of a multiline selection.

SmartDashesType

The smart dashes style.

(Inherited from IUITextInputTraits)
SmartInsertDeleteType

The smart insert style.

(Inherited from IUITextInputTraits)
SmartQuotesType

The smart quotes style.

(Inherited from IUITextInputTraits)
SpellCheckingType

Gets or sets a value that tells whether spell-checking is on, off, or if spell-checking will be enabled only when auto-complete is enabled (default).

(Inherited from IUITextInputTraits)
SupportsAdaptiveImageGlyph
TextContentType

The semantic of the expected input, which allows the system to, for example, provide custom keyboards.

(Inherited from IUITextInputTraits)
TextInputView

Returns the input view that provides the coordinate system for geometric operations within the text input.

UnobscuredContentRect
WeakInputDelegate

Indicates a weak input delegate.

WeakTokenizer

Indicates a weak tokenizer.

WritingToolsBehavior (Inherited from IUITextInputTraits)

Methods

Name Description
BeginFloatingCursor(CGPoint)

Begins displaying the floating cursor at the specified point.

ComparePosition(UITextPosition, UITextPosition)

Gets a comparison of one position to another.

DeleteBackward() (Inherited from IUIKeyInput)
DictationRecognitionFailed()

The recognition of dictation failed.

DictationRecordingDidEnd()

The recording of dictation ended.

DidDismissWritingTools()
EndFloatingCursor()

Ends display of the floating cursor.

GetAttributedText(UITextRange)
GetBaseWritingDirection(UITextPosition, UITextStorageDirection)

Gets the base writing direction for a text position.

GetCaretRectForPosition(UITextPosition)

A rectangle used for drawing a caret at a given insertion point.

GetCaretTransform(UITextPosition)
GetCharacterOffsetOfPosition(UITextPosition, UITextRange)

Calculates and returns the offset into range of the character that is in position in the document.

GetCharacterRange(UITextPosition, UITextLayoutDirection)

Gets a character range within the limits of a defined direction.

GetCharacterRangeAtPoint(CGPoint)

Gets the character or a range of characters in a document that exists at a given point.

GetClosestPositionToPoint(CGPoint, UITextRange)
GetClosestPositionToPoint(CGPoint)

Gets the closest position in a document that exists to a given point.

GetEditMenu(UITextRange, UIMenuElement[])
GetFirstRectForRange(UITextRange)

Gets the first rectangle enclosing a specified range of document text.

GetFrameForDictationResultPlaceholder(NSObject)

Returns the rectangle in which to display the animated dictation result placeholder.

GetOffsetFromPosition(UITextPosition, UITextPosition)

Gets the number of visible characters between two defined text positions.

GetPosition(UITextPosition, IntPtr)

Gets the character offset from the initial position.

GetPosition(UITextPosition, UITextLayoutDirection, IntPtr)

Gets the character offset from an initial position.

GetPosition(UITextRange, IntPtr)

Calculates and returns the absolute position in the document that is atCharacterOffset characters into withinRange.

GetPositionWithinRange(UITextRange, UITextLayoutDirection)

Gets a position within a specified range.

GetSelectionRects(UITextRange)

Gets an array of selection rects that corresponds to a text range.

GetTextRange(UITextPosition, UITextPosition)

Gets a specified text range.

GetTextStyling(UITextPosition, UITextStorageDirection)

Returns a dictionary of style properties for text at the atPosition position.

InsertAdaptiveImageGlyph(NSAdaptiveImageGlyph, UITextRange)
InsertAttributedText(NSAttributedString)
InsertDictationResult(NSArray)

Inserts a dictation result at the current position.

InsertDictationResultPlaceholder()

Returns the placeholder object to use before dictation results are finished being generated.

InsertInputSuggestion(UIInputSuggestion)
InsertText(String, String[], UITextAlternativeStyle)
InsertText(String)

Inserts text at the cursor.

(Inherited from IUIKeyInput)
InsertTextPlaceholder(CGSize)
RemoveDictationResultPlaceholder(NSObject, Boolean)

The placeholder is no longer needed.

RemoveTextPlaceholder(UITextPlaceholder)
ReplaceRange(UITextRange, NSAttributedString)
ReplaceText(UITextRange, String)

Replaces document text within a specified range.

SetAttributedMarkedText(NSAttributedString, NSRange)
SetBaseWritingDirectionforRange(NSWritingDirection, UITextRange)

Sets a base directon for writing in the specified range of text.

SetMarkedText(String, NSRange)

Sets the marked text and marks it as the current selection.

ShouldChangeTextInRange(UITextRange, String)

Asks whether the text in inRange should be replaced with replacementText.

TextInRange(UITextRange)

Gets all the text that is specified within a certain range.

UnmarkText()

Unmarks all currently marked text within a document

UpdateFloatingCursor(CGPoint)

Moves the floating curor to the specified point.

WillDismissEditMenu(IUIEditMenuInteractionAnimating)
WillPresentEditMenu(IUIEditMenuInteractionAnimating)
WillPresentWritingTools()

Extension Methods

Name Description
BeginFloatingCursor(IUITextInput, CGPoint)

Begins displaying the floating cursor at the specified point.

DictationRecognitionFailed(IUITextInput)

The recognition of dictation failed.

DictationRecordingDidEnd(IUITextInput)

The recording of dictation ended.

DidDismissWritingTools(IUITextInput)
EndFloatingCursor(IUITextInput)

Ends display of the floating cursor.

GetAllowedWritingToolsResultOptions(IUITextInputTraits)
GetAllowsNumberPadPopover(IUITextInputTraits)
GetAttributedText(IUITextInput, UITextRange)
GetAutocapitalizationType(IUITextInputTraits)

The UITextAutocapitalizationType used by the IUITextInput.

GetAutocorrectionType(IUITextInputTraits)

The UITextAutocorrectionType used by the IUITextInput.

GetCaretTransform(IUITextInput, UITextPosition)
GetCharacterOffsetOfPosition(IUITextInput, UITextPosition, UITextRange)

Calculates and returns the offset into range of the character that is in position in the document.

GetConversationContext(IUITextInputTraits)
GetEditable(IUITextInput)
GetEditMenu(IUITextInput, UITextRange, UIMenuElement[])
GetEnablesReturnKeyAutomatically(IUITextInputTraits)

Whether the return key is automatically enabled.

GetFrameForDictationResultPlaceholder(IUITextInput, NSObject)

Returns the rectangle in which to display the animated dictation result placeholder.

GetHandle(INativeObject)
GetInlinePredictionType(IUITextInputTraits)
GetKeyboardAppearance(IUITextInputTraits)

The UIKeyboardAppearance used by the IUITextInput

GetKeyboardType(IUITextInputTraits)

The UIKeyboardType used by the IUITextInput.

GetMathExpressionCompletionType(IUITextInputTraits)
GetNonNullHandle(INativeObject, String)
GetPasswordRules(IUITextInputTraits)

The password entry rules.

GetPosition(IUITextInput, UITextRange, IntPtr)

Calculates and returns the absolute position in the document that is atCharacterOffset characters into withinRange.

GetReturnKeyType(IUITextInputTraits)

The form of the return key for the IUITextInput.

GetSecureTextEntry(IUITextInputTraits)

Whether the entered text should be hidden.

GetSelectionAffinity(IUITextInput)

A value that controls whether the cursor is displayed at the start of the last line or end of the second-to-last line of a multiline selection.

GetSmartDashesType(IUITextInputTraits)

The smart dashes style.

GetSmartInsertDeleteType(IUITextInputTraits)

The smart insert style.

GetSmartQuotesType(IUITextInputTraits)

The smart quotes style.

GetSpellCheckingType(IUITextInputTraits)

Gets or sets a value that tells whether spell-checking is on, off, or if spell-checking will be enabled only when auto-complete is enabled (default).

GetSupportsAdaptiveImageGlyph(IUITextInput)
GetTextContentType(IUITextInputTraits)

The semantic of the expected input, which allows the system to, for example, provide custom keyboards.

GetTextInputView(IUITextInput)

Returns the input view that provides the coordinate system for geometric operations within the text input.

GetTextStyling(IUITextInput, UITextPosition, UITextStorageDirection)

Returns a dictionary of style properties for text at the atPosition position.

GetUnobscuredContentRect(IUITextInput)
GetWritingToolsBehavior(IUITextInputTraits)
InsertAdaptiveImageGlyph(IUITextInput, NSAdaptiveImageGlyph, UITextRange)
InsertAttributedText(IUITextInput, NSAttributedString)
InsertDictationResult(IUITextInput, NSArray)

Inserts a dictation result at the current position.

InsertDictationResultPlaceholder(IUITextInput)

Returns the placeholder object to use before dictation results are finished being generated.

InsertInputSuggestion(IUITextInput, UIInputSuggestion)
InsertText(IUITextInput, String, String[], UITextAlternativeStyle)
InsertTextPlaceholder(IUITextInput, CGSize)
RemoveDictationResultPlaceholder(IUITextInput, NSObject, Boolean)

The placeholder is no longer needed.

RemoveTextPlaceholder(IUITextInput, UITextPlaceholder)
ReplaceRange(IUITextInput, UITextRange, NSAttributedString)
SetAllowedWritingToolsResultOptions(IUITextInputTraits, UIWritingToolsResultOptions)
SetAllowsNumberPadPopover(IUITextInputTraits, Boolean)
SetAttributedMarkedText(IUITextInput, NSAttributedString, NSRange)
SetAutocapitalizationType(IUITextInputTraits, UITextAutocapitalizationType)

The UITextAutocapitalizationType used by the IUITextInput.

SetAutocorrectionType(IUITextInputTraits, UITextAutocorrectionType)

The UITextAutocorrectionType used by the IUITextInput.

SetConversationContext(IUITextInputTraits, UIConversationContext)
SetEnablesReturnKeyAutomatically(IUITextInputTraits, Boolean)

Whether the return key is automatically enabled.

SetInlinePredictionType(IUITextInputTraits, UITextInlinePredictionType)
SetKeyboardAppearance(IUITextInputTraits, UIKeyboardAppearance)

The UIKeyboardAppearance used by the IUITextInput

SetKeyboardType(IUITextInputTraits, UIKeyboardType)

The UIKeyboardType used by the IUITextInput.

SetMathExpressionCompletionType(IUITextInputTraits, UITextMathExpressionCompletionType)
SetPasswordRules(IUITextInputTraits, UITextInputPasswordRules)

The password entry rules.

SetReturnKeyType(IUITextInputTraits, UIReturnKeyType)

The form of the return key for the IUITextInput.

SetSecureTextEntry(IUITextInputTraits, Boolean)

Whether the entered text should be hidden.

SetSelectionAffinity(IUITextInput, UITextStorageDirection)

A value that controls whether the cursor is displayed at the start of the last line or end of the second-to-last line of a multiline selection.

SetSmartDashesType(IUITextInputTraits, UITextSmartDashesType)

The smart dashes style.

SetSmartInsertDeleteType(IUITextInputTraits, UITextSmartInsertDeleteType)

The smart insert style.

SetSmartQuotesType(IUITextInputTraits, UITextSmartQuotesType)

The smart quotes style.

SetSpellCheckingType(IUITextInputTraits, UITextSpellCheckingType)

Gets or sets a value that tells whether spell-checking is on, off, or if spell-checking will be enabled only when auto-complete is enabled (default).

SetSupportsAdaptiveImageGlyph(IUITextInput, Boolean)
SetTextContentType(IUITextInputTraits, NSString)

The semantic of the expected input, which allows the system to, for example, provide custom keyboards.

SetWritingToolsBehavior(IUITextInputTraits, UIWritingToolsBehavior)
ShouldChangeTextInRange(IUITextInput, UITextRange, String)

Asks whether the text in inRange should be replaced with replacementText.

UpdateFloatingCursor(IUITextInput, CGPoint)

Moves the floating curor to the specified point.

WillDismissEditMenu(IUITextInput, IUIEditMenuInteractionAnimating)
WillPresentEditMenu(IUITextInput, IUIEditMenuInteractionAnimating)
WillPresentWritingTools(IUITextInput)

Applies to