diff --git a/.vs/Xamarin.IQKeyboardManager/xs/UserPrefs.xml b/.vs/Xamarin.IQKeyboardManager/xs/UserPrefs.xml new file mode 100644 index 0000000..8ebfae7 --- /dev/null +++ b/.vs/Xamarin.IQKeyboardManager/xs/UserPrefs.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.vs/Xamarin.IQKeyboardManager/xs/sqlite3/db.lock b/.vs/Xamarin.IQKeyboardManager/xs/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/Xamarin.IQKeyboardManager/xs/sqlite3/storage.ide b/.vs/Xamarin.IQKeyboardManager/xs/sqlite3/storage.ide new file mode 100644 index 0000000..938d4bc Binary files /dev/null and b/.vs/Xamarin.IQKeyboardManager/xs/sqlite3/storage.ide differ diff --git a/IQKeyboardManager.Sample/IQKeyboardManager.SampleViewController.cs b/IQKeyboardManager.Sample/IQKeyboardManager.SampleViewController.cs index 6bbc179..cf6c013 100644 --- a/IQKeyboardManager.Sample/IQKeyboardManager.SampleViewController.cs +++ b/IQKeyboardManager.Sample/IQKeyboardManager.SampleViewController.cs @@ -28,17 +28,11 @@ public override void ViewDidLoad () { base.ViewDidLoad (); - Xamarin.IQKeyboardManager.SharedManager.EnableAutoToolbar = true; - Xamarin.IQKeyboardManager.SharedManager.ShouldResignOnTouchOutside = true; - Xamarin.IQKeyboardManager.SharedManager.ShouldToolbarUsesTextFieldTintColor = true; - Xamarin.IQKeyboardManager.SharedManager.KeyboardDistanceFromTextField = 300f; + Xamarin.IQKeyboardManager.SharedManager().EnableAutoToolbar = true; + Xamarin.IQKeyboardManager.SharedManager().ShouldResignOnTouchOutside = true; + Xamarin.IQKeyboardManager.SharedManager().ShouldToolbarUsesTextFieldTintColor = true; + Xamarin.IQKeyboardManager.SharedManager().KeyboardDistanceFromTextField = 300f; - var npac = Xamarin.IQKeyboardManager.SharedManager.ToolbarPreviousNextAllowedClasses; - - var vc = this.View.ViewController(); - var dh = this.View.DebugHierarchy(); - var isAlertView = this.View.IsAlertViewTextField(); - var isSearchView = this.View.IsSearchBarTextField(); } partial void BtnGetControlType_TouchUpInside(UIButton sender) @@ -47,10 +41,10 @@ partial void BtnGetControlType_TouchUpInside(UIButton sender) if (firstResponder != null) { - var vc = firstResponder.ViewController(); - var dh = firstResponder.DebugHierarchy(); - var isAlertView = firstResponder.IsAlertViewTextField(); - var isSearchView = firstResponder.IsSearchBarTextField(); + //var vc = firstResponder.ViewController; + //var dh = firstResponder.DebugHierarchy(); + //var isAlertView = firstResponder.IsAlertViewTextField(); + //var isSearchView = firstResponder.IsSearchBarTextField(); } } diff --git a/Xamarin.IQKeyboardManager/ApiDefinitions.cs b/Xamarin.IQKeyboardManager/ApiDefinitions.cs index 8d1ed75..b73f763 100644 --- a/Xamarin.IQKeyboardManager/ApiDefinitions.cs +++ b/Xamarin.IQKeyboardManager/ApiDefinitions.cs @@ -6,208 +6,297 @@ namespace Xamarin { - // @interface IQKeyboardManager : NSObject - [BaseType(typeof(NSObject))] - [DisableDefaultCtor] - interface IQKeyboardManager + // @interface IQBarButtonItem : UIBarButtonItem + [BaseType(typeof(UIBarButtonItem))] + interface IQBarButtonItem { - // +(instancetype _Nonnull)sharedManager; - [Static] - [Export("sharedManager")] - IQKeyboardManager SharedManager { get; } + // @property (readonly, nonatomic) BOOL isSystemItem; + [Export("isSystemItem")] + bool IsSystemItem { get; } - // @property (getter = isEnabled, assign, nonatomic) BOOL enable; - [Export("enable")] - bool Enable { [Bind("isEnabled")] get; set; } + // -(void)setTarget:(id _Nullable)target action:(SEL _Nullable)action; + [Export("setTarget:action:")] + void SetTarget([NullAllowed] NSObject target, [NullAllowed] Selector action); - // @property (assign, nonatomic) CGFloat keyboardDistanceFromTextField; - [Export("keyboardDistanceFromTextField")] - nfloat KeyboardDistanceFromTextField { get; set; } + // @property (nonatomic, strong) NSInvocation * _Nullable invocation; + [NullAllowed, Export("invocation", ArgumentSemantic.Strong)] + NSInvocation Invocation { get; set; } + } - // @property (assign, nonatomic) BOOL preventShowingBottomBlankSpace; - [Export("preventShowingBottomBlankSpace")] - bool PreventShowingBottomBlankSpace { get; set; } + // @interface IQTitleBarButtonItem : IQBarButtonItem + [BaseType(typeof(IQBarButtonItem))] + [DisableDefaultCtor] + interface IQTitleBarButtonItem + { + // @property (nonatomic, strong) UIFont * _Nullable titleFont; + [NullAllowed, Export("titleFont", ArgumentSemantic.Strong)] + UIFont TitleFont { get; set; } - // -(void)reloadLayoutIfNeeded; - [Export("reloadLayoutIfNeeded")] - void ReloadLayoutIfNeeded(); + // @property (nonatomic, strong) UIColor * _Nullable titleColor; + [NullAllowed, Export("titleColor", ArgumentSemantic.Strong)] + UIColor TitleColor { get; set; } - // @property (readonly, getter = isKeyboardShowing, assign, nonatomic) BOOL keyboardShowing; - [Export("keyboardShowing")] - bool KeyboardShowing { [Bind("isKeyboardShowing")] get; } + // @property (nonatomic, strong) UIColor * _Nullable selectableTitleColor; + [NullAllowed, Export("selectableTitleColor", ArgumentSemantic.Strong)] + UIColor SelectableTitleColor { get; set; } - // @property (readonly, assign, nonatomic) CGFloat movedDistance; - [Export("movedDistance")] - nfloat MovedDistance { get; } + // -(instancetype _Nonnull)initWithTitle:(NSString * _Nullable)title __attribute__((objc_designated_initializer)); + [Export("initWithTitle:")] + [DesignatedInitializer] + IntPtr Constructor([NullAllowed] string title); + } - // @property (getter = isEnableAutoToolbar, assign, nonatomic) BOOL enableAutoToolbar; - [Export("enableAutoToolbar")] - bool EnableAutoToolbar { [Bind("isEnableAutoToolbar")] get; set; } + // @interface IQToolbar : UIToolbar + [BaseType(typeof(UIToolbar))] + interface IQToolbar : IUIInputViewAudioFeedback + { + // @property (nonatomic, strong) IQBarButtonItem * _Nonnull previousBarButton; + [Export("previousBarButton", ArgumentSemantic.Strong)] + IQBarButtonItem PreviousBarButton { get; set; } - // @property (assign, nonatomic) IQAutoToolbarManageBehaviour toolbarManageBehaviour; - [Export("toolbarManageBehaviour", ArgumentSemantic.Assign)] - IQAutoToolbarManageBehaviour ToolbarManageBehaviour { get; set; } + // @property (nonatomic, strong) IQBarButtonItem * _Nonnull nextBarButton; + [Export("nextBarButton", ArgumentSemantic.Strong)] + IQBarButtonItem NextBarButton { get; set; } - // @property (assign, nonatomic) BOOL shouldToolbarUsesTextFieldTintColor; - [Export("shouldToolbarUsesTextFieldTintColor")] - bool ShouldToolbarUsesTextFieldTintColor { get; set; } + // @property (readonly, nonatomic, strong) IQTitleBarButtonItem * _Nonnull titleBarButton; + [Export("titleBarButton", ArgumentSemantic.Strong)] + IQTitleBarButtonItem TitleBarButton { get; } - // @property (nonatomic, strong) UIColor * _Nullable toolbarTintColor; - [NullAllowed, Export("toolbarTintColor", ArgumentSemantic.Strong)] - UIColor ToolbarTintColor { get; set; } + // @property (nonatomic, strong) IQBarButtonItem * _Nonnull doneBarButton; + [Export("doneBarButton", ArgumentSemantic.Strong)] + IQBarButtonItem DoneBarButton { get; set; } - // @property (nonatomic, strong) UIColor * _Nullable toolbarBarTintColor; - [NullAllowed, Export("toolbarBarTintColor", ArgumentSemantic.Strong)] - UIColor ToolbarBarTintColor { get; set; } + // @property (nonatomic, strong) IQBarButtonItem * _Nonnull fixedSpaceBarButton; + [Export("fixedSpaceBarButton", ArgumentSemantic.Strong)] + IQBarButtonItem FixedSpaceBarButton { get; set; } + } - // @property (assign, nonatomic) IQPreviousNextDisplayMode previousNextDisplayMode; - [Export("previousNextDisplayMode", ArgumentSemantic.Assign)] - IQPreviousNextDisplayMode PreviousNextDisplayMode { get; set; } + // @interface IQBarButtonItemConfiguration : NSObject + [BaseType(typeof(NSObject))] + interface IQBarButtonItemConfiguration + { + // -(instancetype _Nonnull)initWithBarButtonSystemItem:(UIBarButtonSystemItem)barButtonSystemItem action:(SEL _Nullable)action; + [Export("initWithBarButtonSystemItem:action:")] + IntPtr Constructor(UIBarButtonSystemItem barButtonSystemItem, [NullAllowed] Selector action); - // @property (nonatomic, strong) UIImage * _Nullable toolbarDoneBarButtonItemImage; - [NullAllowed, Export("toolbarDoneBarButtonItemImage", ArgumentSemantic.Strong)] - UIImage ToolbarDoneBarButtonItemImage { get; set; } + // -(instancetype _Nonnull)initWithImage:(UIImage * _Nonnull)image action:(SEL _Nullable)action; + [Export("initWithImage:action:")] + IntPtr Constructor(UIImage image, [NullAllowed] Selector action); - // @property (nonatomic, strong) NSString * _Nullable toolbarDoneBarButtonItemText; - [NullAllowed, Export("toolbarDoneBarButtonItemText", ArgumentSemantic.Strong)] - string ToolbarDoneBarButtonItemText { get; set; } + // -(instancetype _Nonnull)initWithTitle:(NSString * _Nonnull)title action:(SEL _Nullable)action; + [Export("initWithTitle:action:")] + IntPtr Constructor(string title, [NullAllowed] Selector action); - // @property (assign, nonatomic) BOOL shouldShowTextFieldPlaceholder; - [Export("shouldShowTextFieldPlaceholder")] - bool ShouldShowTextFieldPlaceholder { get; set; } + // @property (readonly, nonatomic) UIBarButtonSystemItem barButtonSystemItem; + [Export("barButtonSystemItem")] + UIBarButtonSystemItem BarButtonSystemItem { get; } - // @property (assign, nonatomic) BOOL shouldShowTextFieldPlaceholder __attribute__((deprecated("This is renamed to `shouldShowToolbarPlaceholder` for more clear naming."))); - [Export("shouldShowToolbarPlaceholder")] - bool ShouldShowToolbarPlaceholder { get; set; } + // @property (readonly, nonatomic) UIImage * _Nullable image; + [NullAllowed, Export("image")] + UIImage Image { get; } - // @property (nonatomic, strong) UIFont * _Nullable placeholderFont; - [NullAllowed, Export("placeholderFont", ArgumentSemantic.Strong)] - UIFont PlaceholderFont { get; set; } + // @property (readonly, nonatomic) NSString * _Nullable title; + [NullAllowed, Export("title")] + string Title { get; } - // -(void)reloadInputViews; - [Export("reloadInputViews")] - void ReloadInputViews(); + // @property (readonly, nonatomic) SEL _Nullable action; + [NullAllowed, Export("action")] + Selector Action { get; } + } - // @property (assign, nonatomic) BOOL overrideKeyboardAppearance; - [Export("overrideKeyboardAppearance")] - bool OverrideKeyboardAppearance { get; set; } + // @interface IQKeyboardToolbarNextPreviousImage (UIImage) + //[Category] + //[BaseType(typeof(UIImage))] + partial interface UIImage + { + // +(UIImage * _Nullable)keyboardPreviousiOS9Image; + [Static] + [NullAllowed, Export("keyboardPreviousiOS9Image")] + UIImage KeyboardPreviousiOS9Image { get; } - // @property (assign, nonatomic) UIKeyboardAppearance keyboardAppearance; - [Export("keyboardAppearance", ArgumentSemantic.Assign)] - UIKeyboardAppearance KeyboardAppearance { get; set; } + // +(UIImage * _Nullable)keyboardNextiOS9Image; + [Static] + [NullAllowed, Export("keyboardNextiOS9Image")] + UIImage KeyboardNextiOS9Image { get; } - // @property (assign, nonatomic) BOOL shouldResignOnTouchOutside; - [Export("shouldResignOnTouchOutside")] - bool ShouldResignOnTouchOutside { get; set; } + // +(UIImage * _Nullable)keyboardPreviousiOS10Image; + [Static] + [NullAllowed, Export("keyboardPreviousiOS10Image")] + UIImage KeyboardPreviousiOS10Image { get; } - // @property (readonly, nonatomic, strong) UITapGestureRecognizer * _Nonnull resignFirstResponderGesture; - [Export("resignFirstResponderGesture", ArgumentSemantic.Strong)] - UITapGestureRecognizer ResignFirstResponderGesture { get; } + // +(UIImage * _Nullable)keyboardNextiOS10Image; + [Static] + [NullAllowed, Export("keyboardNextiOS10Image")] + UIImage KeyboardNextiOS10Image { get; } - // -(BOOL)resignFirstResponder; - [Export("resignFirstResponder")] - bool ResignFirstResponder(); + // +(UIImage * _Nullable)keyboardPreviousImage; + [Static] + [NullAllowed, Export("keyboardPreviousImage")] + UIImage KeyboardPreviousImage { get; } - // @property (readonly, nonatomic) BOOL canGoPrevious; - [Export("canGoPrevious")] - bool CanGoPrevious { get; } + // +(UIImage * _Nullable)keyboardNextImage; + [Static] + [NullAllowed, Export("keyboardNextImage")] + UIImage KeyboardNextImage { get; } + } - // @property (readonly, nonatomic) BOOL canGoNext; - [Export("canGoNext")] - bool CanGoNext { get; } + // @interface IQToolbarAddition (UIView) + //[Category] + //[BaseType(typeof(UIView))] + partial interface UIView + { + // @property (readonly, nonatomic) IQToolbar * _Nonnull keyboardToolbar; + [Export("keyboardToolbar")] + IQToolbar KeyboardToolbar { get; } - // -(BOOL)goPrevious; - [Export("goPrevious")] - bool GoPrevious(); + // @property (assign, nonatomic) BOOL shouldHideToolbarPlaceholder; + [Export("shouldHideToolbarPlaceholder")] + bool ShouldHideToolbarPlaceholder { get; set; } - // -(BOOL)goNext; - [Export("goNext")] - bool GoNext(); + // @property (nonatomic, strong) NSString * _Nullable toolbarPlaceholder; + [NullAllowed, Export("toolbarPlaceholder", ArgumentSemantic.Strong)] + string ToolbarPlaceholder { get; set; } - // @property (assign, nonatomic) BOOL shouldPlayInputClicks; - [Export("shouldPlayInputClicks")] - bool ShouldPlayInputClicks { get; set; } + // @property (readonly, nonatomic, strong) NSString * _Nullable drawingToolbarPlaceholder; + [NullAllowed, Export("drawingToolbarPlaceholder", ArgumentSemantic.Strong)] + string DrawingToolbarPlaceholder { get; } - // @property (assign, nonatomic) BOOL layoutIfNeededOnUpdate; - [Export("layoutIfNeededOnUpdate")] - bool LayoutIfNeededOnUpdate { get; set; } + // -(void)addKeyboardToolbarWithTarget:(id _Nullable)target titleText:(NSString * _Nullable)titleText rightBarButtonConfiguration:(IQBarButtonItemConfiguration * _Nullable)rightBarButtonConfiguration previousBarButtonConfiguration:(IQBarButtonItemConfiguration * _Nullable)previousBarButtonConfiguration nextBarButtonConfiguration:(IQBarButtonItemConfiguration * _Nullable)nextBarButtonConfiguration; + [Export("addKeyboardToolbarWithTarget:titleText:rightBarButtonConfiguration:previousBarButtonConfiguration:nextBarButtonConfiguration:")] + void AddKeyboardToolbarWithTarget([NullAllowed] NSObject target, [NullAllowed] string titleText, [NullAllowed] IQBarButtonItemConfiguration rightBarButtonConfiguration, [NullAllowed] IQBarButtonItemConfiguration previousBarButtonConfiguration, [NullAllowed] IQBarButtonItemConfiguration nextBarButtonConfiguration); - // @property (assign, nonatomic) BOOL shouldFixInteractivePopGestureRecognizer; - [Export("shouldFixInteractivePopGestureRecognizer")] - bool ShouldFixInteractivePopGestureRecognizer { get; set; } + // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action; + [Export("addDoneOnKeyboardWithTarget:action:")] + void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledDistanceHandlingClasses; - [Export("disabledDistanceHandlingClasses", ArgumentSemantic.Strong)] - NSMutableSet DisabledDistanceHandlingClasses { get; } + // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addDoneOnKeyboardWithTarget:action:shouldShowPlaceholder:")] + void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledDistanceHandlingClasses; - [Export("enabledDistanceHandlingClasses", ArgumentSemantic.Strong)] - NSMutableSet EnabledDistanceHandlingClasses { get; } + // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; + [Export("addDoneOnKeyboardWithTarget:action:titleText:")] + void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledToolbarClasses; - [Export("disabledToolbarClasses", ArgumentSemantic.Strong)] - NSMutableSet DisabledToolbarClasses { get; } + // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action; + [Export("addRightButtonOnKeyboardWithText:target:action:")] + void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledToolbarClasses; - [Export("enabledToolbarClasses", ArgumentSemantic.Strong)] - NSMutableSet EnabledToolbarClasses { get; } + // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addRightButtonOnKeyboardWithText:target:action:shouldShowPlaceholder:")] + void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull toolbarPreviousNextAllowedClasses; - [Export("toolbarPreviousNextAllowedClasses", ArgumentSemantic.Strong)] - NSMutableSet ToolbarPreviousNextAllowedClasses { get; } + // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; + [Export("addRightButtonOnKeyboardWithText:target:action:titleText:")] + void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledTouchResignedClasses; - [Export("disabledTouchResignedClasses", ArgumentSemantic.Strong)] - NSMutableSet DisabledTouchResignedClasses { get; } + // -(void)addRightButtonOnKeyboardWithImage:(UIImage * _Nullable)image target:(id _Nullable)target action:(SEL _Nullable)action; + [Export("addRightButtonOnKeyboardWithImage:target:action:")] + void AddRightButtonOnKeyboardWithImage([NullAllowed] UIImage image, [NullAllowed] NSObject target, [NullAllowed] Selector action); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledTouchResignedClasses; - [Export("enabledTouchResignedClasses", ArgumentSemantic.Strong)] - NSMutableSet EnabledTouchResignedClasses { get; } + // -(void)addRightButtonOnKeyboardWithImage:(UIImage * _Nullable)image target:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addRightButtonOnKeyboardWithImage:target:action:shouldShowPlaceholder:")] + void AddRightButtonOnKeyboardWithImage([NullAllowed] UIImage image, [NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); - // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull touchResignedGestureIgnoreClasses; - [Export("touchResignedGestureIgnoreClasses", ArgumentSemantic.Strong)] - NSMutableSet TouchResignedGestureIgnoreClasses { get; } + // -(void)addRightButtonOnKeyboardWithImage:(UIImage * _Nullable)image target:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; + [Export("addRightButtonOnKeyboardWithImage:target:action:titleText:")] + void AddRightButtonOnKeyboardWithImage([NullAllowed] UIImage image, [NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); - // -(void)registerTextFieldViewClass:(Class _Nonnull)aClass didBeginEditingNotificationName:(NSString * _Nonnull)didBeginEditingNotificationName didEndEditingNotificationName:(NSString * _Nonnull)didEndEditingNotificationName; - [Export("registerTextFieldViewClass:didBeginEditingNotificationName:didEndEditingNotificationName:")] - void RegisterTextFieldViewClass(Class aClass, string didBeginEditingNotificationName, string didEndEditingNotificationName); + // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction; + [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:")] + void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction); - // -(void)unregisterTextFieldViewClass:(Class _Nonnull)aClass didBeginEditingNotificationName:(NSString * _Nonnull)didBeginEditingNotificationName didEndEditingNotificationName:(NSString * _Nonnull)didEndEditingNotificationName; - [Export("unregisterTextFieldViewClass:didBeginEditingNotificationName:didEndEditingNotificationName:")] - void UnregisterTextFieldViewClass(Class aClass, string didBeginEditingNotificationName, string didEndEditingNotificationName); + // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:shouldShowPlaceholder:")] + void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction, bool shouldShowPlaceholder); - // @property (assign, nonatomic) BOOL enableDebugging; - [Export("enableDebugging")] - bool EnableDebugging { get; set; } + // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction titleText:(NSString * _Nullable)titleText; + [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:titleText:")] + void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction, [NullAllowed] string titleText); - // -(void)registerAllNotifications; - [Export("registerAllNotifications")] - void RegisterAllNotifications(); + // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction; + [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:")] + void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction); - // -(void)unregisterAllNotifications; - [Export("unregisterAllNotifications")] - void UnregisterAllNotifications(); - } + // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:shouldShowPlaceholder:")] + void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); - // @interface IQKeyboardReturnKeyHandler : NSObject - [BaseType(typeof(NSObject))] - interface IQKeyboardReturnKeyHandler - { - // -(instancetype _Nonnull)initWithViewController:(UIViewController * _Nullable)controller __attribute__((objc_designated_initializer)); - [Export("initWithViewController:")] - [DesignatedInitializer] - IntPtr Constructor([NullAllowed] UIViewController controller); + // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; + [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:titleText:")] + void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); - [Wrap("WeakDelegate")] - [NullAllowed] - NSObject Delegate { get; set; } + // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction; + [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:")] + void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction); - // @property (nonatomic, weak) id _Nullable delegate; - [NullAllowed, Export("delegate", ArgumentSemantic.Weak)] - NSObject WeakDelegate { get; set; } + // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:shouldShowPlaceholder:")] + void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction, bool shouldShowPlaceholder); - // @property (assign, nonatomic) UIReturnKeyType lastTextFieldReturnKeyType; - [Export("lastTextFieldReturnKeyType", ArgumentSemantic.Assign)] + // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction titleText:(NSString * _Nullable)titleText; + [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:titleText:")] + void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction, [NullAllowed] string titleText); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:shouldShowPlaceholder:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:titleText:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonImage:(UIImage * _Nullable)rightButtonImage previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonImage:previousAction:nextAction:rightButtonAction:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] UIImage rightButtonImage, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonImage:(UIImage * _Nullable)rightButtonImage previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonImage:previousAction:nextAction:rightButtonAction:shouldShowPlaceholder:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] UIImage rightButtonImage, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); + + // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonImage:(UIImage * _Nullable)rightButtonImage previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; + [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonImage:previousAction:nextAction:rightButtonAction:titleText:")] + void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] UIImage rightButtonImage, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); + } + + // @interface IQPreviousNextView : UIView + [BaseType(typeof(UIView))] + interface IQPreviousNextView + { + } + + // @interface Additions (UIViewController) + //[Category] + //[BaseType(typeof(UIViewController))] + partial interface UIViewController + { + // @property (nonatomic, strong) NSLayoutConstraint * _Nullable IQLayoutGuideConstraint __attribute__((iboutlet)) __attribute__((deprecated("Due to change in core-logic of handling distance between textField and keyboard distance, this layout contraint tweak is no longer needed and things will just work out of the box regardless of constraint pinned with safeArea/layoutGuide/superview."))); + [NullAllowed, Export("IQLayoutGuideConstraint", ArgumentSemantic.Strong)] + NSLayoutConstraint IQLayoutGuideConstraint { get; set; } + } + + // @interface IQKeyboardReturnKeyHandler : NSObject + [BaseType(typeof(NSObject))] + interface IQKeyboardReturnKeyHandler + { + // -(instancetype _Nonnull)initWithViewController:(UIViewController * _Nullable)controller __attribute__((objc_designated_initializer)); + [Export("initWithViewController:")] + [DesignatedInitializer] + IntPtr Constructor([NullAllowed] UIViewController controller); + + [Wrap("WeakDelegate")] + [NullAllowed] + NSObject Delegate { get; set; } + + // @property (nonatomic, weak) id _Nullable delegate; + [NullAllowed, Export("delegate", ArgumentSemantic.Weak)] + NSObject WeakDelegate { get; set; } + + // @property (assign, nonatomic) UIReturnKeyType lastTextFieldReturnKeyType; + [Export("lastTextFieldReturnKeyType", ArgumentSemantic.Assign)] UIReturnKeyType LastTextFieldReturnKeyType { get; set; } // -(void)addTextFieldView:(UIView * _Nonnull)textFieldView; @@ -227,72 +316,133 @@ interface IQKeyboardReturnKeyHandler void RemoveResponderFromView(UIView view); } + // @interface IQTextView : UITextView + [BaseType(typeof(UITextView))] + interface IQTextView + { + // @property (copy, nonatomic) NSString * _Nullable placeholder; + [NullAllowed, Export("placeholder")] + string Placeholder { get; set; } + + // @property (copy, nonatomic) NSAttributedString * _Nullable attributedPlaceholder; + [NullAllowed, Export("attributedPlaceholder", ArgumentSemantic.Copy)] + NSAttributedString AttributedPlaceholder { get; set; } + + // @property (copy, nonatomic) UIColor * _Nullable placeholderTextColor; + [NullAllowed, Export("placeholderTextColor", ArgumentSemantic.Copy)] + UIColor PlaceholderTextColor { get; set; } + } + // @interface Additions (UIScrollView) - [Category] - [BaseType(typeof(UIScrollView))] - interface UIScrollView_Additions + //[Category] + //[BaseType(typeof(UIScrollView))] + partial interface UIScrollView { + // @property (assign, nonatomic) BOOL shouldIgnoreScrollingAdjustment; + [Export("shouldIgnoreScrollingAdjustment")] + bool ShouldIgnoreScrollingAdjustment { get; set; } + // @property (assign, nonatomic) BOOL shouldRestoreScrollViewContentOffset; [Export("shouldRestoreScrollViewContentOffset")] - bool ShouldRestoreScrollViewContentOffset(); + bool ShouldRestoreScrollViewContentOffset { get; set; } + } - [Export("setShouldRestoreScrollViewContentOffset:")] - void SetShouldRestoreScrollViewContentOffset(bool shouldRestoreScrollViewContentOffset); + // @interface PreviousNextIndexPath (UITableView) + //[Category] + //[BaseType(typeof(UITableView))] + partial interface UITableView + { + // -(NSIndexPath * _Nullable)previousIndexPathOfIndexPath:(NSIndexPath * _Nonnull)indexPath; + [Export("previousIndexPathOfIndexPath:")] + [return: NullAllowed] + NSIndexPath PreviousIndexPathOfIndexPath(NSIndexPath indexPath); + } + + // @interface PreviousNextIndexPath (UICollectionView) + //[Category] + //[BaseType(typeof(UICollectionView))] + partial interface UICollectionView + { + // -(NSIndexPath * _Nullable)previousIndexPathOfIndexPath:(NSIndexPath * _Nonnull)indexPath; + [Export("previousIndexPathOfIndexPath:")] + [return: NullAllowed] + NSIndexPath PreviousIndexPathOfIndexPath(NSIndexPath indexPath); } // @interface Additions (UIView) - [Category] - [BaseType(typeof(UIView))] - interface UIView_Additions + //[Category] + //[BaseType(typeof(UIView))] + partial interface UIView { // @property (assign, nonatomic) CGFloat keyboardDistanceFromTextField; [Export("keyboardDistanceFromTextField")] - nfloat KeyboardDistanceFromTextField(); - - [Export("setKeyboardDistanceFromTextField:")] - nfloat SetKeyboardDistanceFromTextField(nfloat keyboardDistanceFromTextField); + nfloat KeyboardDistanceFromTextField { get; set; } // @property (assign, nonatomic) BOOL ignoreSwitchingByNextPrevious; [Export("ignoreSwitchingByNextPrevious")] - bool IgnoreSwitchingByNextPrevious(); + bool IgnoreSwitchingByNextPrevious { get; set; } + + // @property (assign, nonatomic) IQEnableMode shouldResignOnTouchOutsideMode; + [Export("shouldResignOnTouchOutsideMode", ArgumentSemantic.Assign)] + IQEnableMode ShouldResignOnTouchOutsideMode { get; set; } + } + + [Static] + partial interface Constants + { + // extern const CGFloat kIQUseDefaultKeyboardDistance; + [Field("kIQUseDefaultKeyboardDistance", "__Internal")] + nfloat kIQUseDefaultKeyboardDistance { get; } + + // extern const NSInteger kIQDoneButtonToolbarTag; + [Field("kIQDoneButtonToolbarTag", "__Internal")] + nint kIQDoneButtonToolbarTag { get; } - [Export("setKeyboardDistanceFromTextField:")] - bool SetIgnoreSwitchingByNextPrevious(bool ignoreSwitchingByNextPrevious); + // extern const NSInteger kIQPreviousNextButtonToolbarTag; + [Field("kIQPreviousNextButtonToolbarTag", "__Internal")] + nint kIQPreviousNextButtonToolbarTag { get; } } // @interface IQ_UIView_Hierarchy (UIView) - [Category] - [BaseType(typeof(UIView))] - interface UIView_IQ_UIView_Hierarchy + //[Category] + //[BaseType(typeof(UIView))] + partial interface UIView { - // @property (readonly, nonatomic, strong) UIViewController * _Nullable viewController; - [NullAllowed, Export("viewController", ArgumentSemantic.Strong)] - UIViewController ViewController(); + // @property (readonly, nonatomic, strong) UIViewController * _Nullable viewContainingController; + [NullAllowed, Export("viewContainingController", ArgumentSemantic.Strong)] + UIViewController ViewContainingController { get; } // @property (readonly, nonatomic, strong) UIViewController * _Nullable topMostController; [NullAllowed, Export("topMostController", ArgumentSemantic.Strong)] - UIViewController TopMostController(); + UIViewController TopMostController { get; } - // -(UIView * _Nullable)superviewOfClassType:(Class _Nonnull)classType; + // @property (readonly, nonatomic, strong) UIViewController * _Nullable parentContainerViewController; + [NullAllowed, Export("parentContainerViewController", ArgumentSemantic.Strong)] + UIViewController ParentContainerViewController { get; } + + // -(__kindof UIView * _Nullable)superviewOfClassType:(Class _Nonnull)classType belowView:(UIView * _Nullable)belowView; + [Export("superviewOfClassType:belowView:")] + UIView SuperviewOfClassType(Class classType, [NullAllowed] UIView belowView); + + // -(__kindof UIView * _Nullable)superviewOfClassType:(Class _Nonnull)classType; [Export("superviewOfClassType:")] - [return: NullAllowed] UIView SuperviewOfClassType(Class classType); - // @property (readonly, copy, nonatomic) NSArray * _Nonnull responderSiblings; + // @property (readonly, copy, nonatomic) NSArray<__kindof UIView *> * _Nonnull responderSiblings; [Export("responderSiblings", ArgumentSemantic.Copy)] - NSObject[] ResponderSiblings(); + UIView[] ResponderSiblings { get; } - // @property (readonly, copy, nonatomic) NSArray * _Nonnull deepResponderViews; + // @property (readonly, copy, nonatomic) NSArray<__kindof UIView *> * _Nonnull deepResponderViews; [Export("deepResponderViews", ArgumentSemantic.Copy)] - NSObject[] DeepResponderViews(); + UIView[] DeepResponderViews { get; } - // @property (readonly, getter = isSearchBarTextField, nonatomic) BOOL searchBarTextField; - [Export("isSearchBarTextField")] - bool IsSearchBarTextField(); + // @property (readonly, nonatomic) UISearchBar * _Nullable textFieldSearchBar; + [NullAllowed, Export("textFieldSearchBar")] + UISearchBar TextFieldSearchBar { get; } // @property (readonly, getter = isAlertViewTextField, nonatomic) BOOL alertViewTextField; - [Export("isAlertViewTextField")] - bool IsAlertViewTextField(); + [Export("alertViewTextField")] + bool AlertViewTextField { [Bind("isAlertViewTextField")] get; } // -(CGAffineTransform)convertTransformToView:(UIView * _Nullable)toView; [Export("convertTransformToView:")] @@ -300,252 +450,229 @@ interface UIView_IQ_UIView_Hierarchy // @property (readonly, copy, nonatomic) NSString * _Nonnull subHierarchy; [Export("subHierarchy")] - string SubHierarchy(); + string SubHierarchy { get; } // @property (readonly, copy, nonatomic) NSString * _Nonnull superHierarchy; [Export("superHierarchy")] - string SuperHierarchy(); + string SuperHierarchy { get; } // @property (readonly, copy, nonatomic) NSString * _Nonnull debugHierarchy; [Export("debugHierarchy")] - string DebugHierarchy(); + string DebugHierarchy { get; } } - // @interface IQ_Logging (NSObject) - [Category] - [BaseType(typeof(NSObject))] - [Preserve] - interface IQ_Logging + // @interface IQ_UIView_Hierarchy (UIViewController) + //[Category] + //[BaseType(typeof(UIViewController))] + partial interface UIViewController { - - // @property (readonly, copy, nonatomic) NSString * _IQDescription; - [Export("_IQDescription")] - [Preserve] - string GetIQDescription(); + // -(UIViewController * _Nullable)parentIQContainerViewController; + [NullAllowed, Export("parentIQContainerViewController")] + UIViewController ParentIQContainerViewController { get; } } - // @interface Additions (UIViewController) - [Category] - [BaseType(typeof(UIViewController))] - interface UIViewController_Additions + // @interface IQ_Logging (NSObject) + //[Category] + //[BaseType(typeof(NSObject))] + partial interface NSObject { - // @property (nonatomic, strong) NSLayoutConstraint * _Nullable IQLayoutGuideConstraint __attribute__((iboutlet)); - [Introduced(PlatformName.iOS, 8, 0)] - [Deprecated(PlatformName.iOS, 11, 0)] - [NullAllowed, Export("IQLayoutGuideConstraint")] - NSLayoutConstraint IQLayoutGuideConstraint(); - - [Introduced(PlatformName.iOS, 8, 0)] - [Deprecated(PlatformName.iOS, 11, 0)] - [NullAllowed, Export("setIQLayoutGuideConstraint:")] - void IQLayoutGuideConstraint(NSLayoutConstraint IQLayoutGuideConstraint); + // @property (readonly, copy, nonatomic) NSString * _Nonnull _IQDescription; + [Export("_IQDescription")] + string _IQDescription { get; } } - // @interface IQ_UIWindow_Hierarchy (UIWindow) - [Category] - [BaseType(typeof(UIWindow))] - interface UIWindow_IQ_UIWindow_Hierarchy + // @interface IQKeyboardManager : NSObject + [BaseType(typeof(NSObject))] + [DisableDefaultCtor] + interface IQKeyboardManager { - // @property (readonly, nonatomic, strong) UIViewController * _Nullable topMostController; - [NullAllowed, Export("topMostController", ArgumentSemantic.Strong)] - UIViewController TopMostController(); + // +(instancetype _Nonnull)sharedManager; + [Static] + [Export("sharedManager")] + IQKeyboardManager SharedManager(); - // @property (readonly, nonatomic, strong) UIViewController * _Nullable currentViewController; - [NullAllowed, Export("currentViewController", ArgumentSemantic.Strong)] - UIViewController CurrentViewController(); - } + // @property (getter = isEnabled, assign, nonatomic) BOOL enable; + [Export("enable")] + bool Enable { [Bind("isEnabled")] get; set; } - // @interface IQTextView : UITextView - [BaseType(typeof(UITextView))] - interface IQTextView - { - // @property (copy, nonatomic) NSString * _Nullable placeholder; - [NullAllowed, Export("placeholder")] - string Placeholder { get; set; } - } + // @property (assign, nonatomic) CGFloat keyboardDistanceFromTextField; + [Export("keyboardDistanceFromTextField")] + nfloat KeyboardDistanceFromTextField { get; set; } - // @interface IQBarButtonItem : UIBarButtonItem - [BaseType(typeof(UIBarButtonItem))] - interface IQBarButtonItem - { - // @property (readonly, nonatomic) BOOL isSystemItem; - [Export("isSystemItem")] - bool IsSystemItem { get; } + // -(void)reloadLayoutIfNeeded; + [Export("reloadLayoutIfNeeded")] + void ReloadLayoutIfNeeded(); - // -(void)setTarget:(id _Nullable)target action:(SEL _Nullable)action; - [Export("setTarget:action:")] - void SetTarget([NullAllowed] NSObject target, [NullAllowed] Selector action); + // @property (readonly, getter = isKeyboardShowing, assign, nonatomic) BOOL keyboardShowing; + [Export("keyboardShowing")] + bool KeyboardShowing { [Bind("isKeyboardShowing")] get; } - // @property (nonatomic, strong) NSInvocation * _Nullable invocation; - [NullAllowed, Export("invocation", ArgumentSemantic.Strong)] - NSInvocation Invocation { get; set; } - } + // @property (readonly, assign, nonatomic) CGFloat movedDistance; + [Export("movedDistance")] + nfloat MovedDistance { get; } - // @interface IQPreviousNextView : UIView - [BaseType(typeof(UIView))] - interface IQPreviousNextView - { - } + // @property (getter = isEnableAutoToolbar, assign, nonatomic) BOOL enableAutoToolbar; + [Export("enableAutoToolbar")] + bool EnableAutoToolbar { [Bind("isEnableAutoToolbar")] get; set; } - // @interface IQTitleBarButtonItem : IQBarButtonItem - [BaseType(typeof(IQBarButtonItem))] - [DisableDefaultCtor] - interface IQTitleBarButtonItem - { - // @property (nonatomic, strong) UIFont * _Nullable titleFont; - [NullAllowed, Export("titleFont", ArgumentSemantic.Strong)] - UIFont TitleFont { get; set; } + // @property (assign, nonatomic) IQAutoToolbarManageBehaviour toolbarManageBehaviour; + [Export("toolbarManageBehaviour", ArgumentSemantic.Assign)] + IQAutoToolbarManageBehaviour ToolbarManageBehaviour { get; set; } - // @property (nonatomic, strong) UIColor * _Nullable selectableTextColor; - [NullAllowed, Export("selectableTextColor", ArgumentSemantic.Strong)] - UIColor SelectableTextColor { get; set; } + // @property (assign, nonatomic) BOOL shouldToolbarUsesTextFieldTintColor; + [Export("shouldToolbarUsesTextFieldTintColor")] + bool ShouldToolbarUsesTextFieldTintColor { get; set; } - // -(instancetype _Nonnull)initWithTitle:(NSString * _Nullable)title __attribute__((objc_designated_initializer)); - [Export("initWithTitle:")] - [DesignatedInitializer] - IntPtr Constructor([NullAllowed] string title); - } + // @property (nonatomic, strong) UIColor * _Nullable toolbarTintColor; + [NullAllowed, Export("toolbarTintColor", ArgumentSemantic.Strong)] + UIColor ToolbarTintColor { get; set; } - // @interface IQToolbar : UIToolbar - [BaseType(typeof(UIToolbar))] - interface IQToolbar : IUIInputViewAudioFeedback - { - // @property (nonatomic, strong) IQBarButtonItem * _Nonnull previousBarButton; - [Export("previousBarButton", ArgumentSemantic.Strong)] - IQBarButtonItem PreviousBarButton { get; set; } + // @property (nonatomic, strong) UIColor * _Nullable toolbarBarTintColor; + [NullAllowed, Export("toolbarBarTintColor", ArgumentSemantic.Strong)] + UIColor ToolbarBarTintColor { get; set; } - // @property (nonatomic, strong) IQBarButtonItem * _Nonnull nextBarButton; - [Export("nextBarButton", ArgumentSemantic.Strong)] - IQBarButtonItem NextBarButton { get; set; } + // @property (assign, nonatomic) IQPreviousNextDisplayMode previousNextDisplayMode; + [Export("previousNextDisplayMode", ArgumentSemantic.Assign)] + IQPreviousNextDisplayMode PreviousNextDisplayMode { get; set; } - // @property (readonly, nonatomic, strong) IQTitleBarButtonItem * _Nonnull titleBarButton; - [Export("titleBarButton", ArgumentSemantic.Strong)] - IQTitleBarButtonItem TitleBarButton { get; } + // @property (nonatomic, strong) UIImage * _Nullable toolbarPreviousBarButtonItemImage; + [NullAllowed, Export("toolbarPreviousBarButtonItemImage", ArgumentSemantic.Strong)] + UIImage ToolbarPreviousBarButtonItemImage { get; set; } - // @property (nonatomic, strong) IQBarButtonItem * _Nonnull doneBarButton; - [Export("doneBarButton", ArgumentSemantic.Strong)] - IQBarButtonItem DoneBarButton { get; set; } - } + // @property (nonatomic, strong) UIImage * _Nullable toolbarNextBarButtonItemImage; + [NullAllowed, Export("toolbarNextBarButtonItemImage", ArgumentSemantic.Strong)] + UIImage ToolbarNextBarButtonItemImage { get; set; } - // @interface IQToolbarAddition (UIView) - [Protocol] - [BaseType(typeof(UIView))] - interface UIView_IQToolbarAddition - { - // @property (readonly, nonatomic) IQToolbar * _Nonnull keyboardToolbar; - [Export("keyboardToolbar")] - IQToolbar KeyboardToolbar { get; } + // @property (nonatomic, strong) UIImage * _Nullable toolbarDoneBarButtonItemImage; + [NullAllowed, Export("toolbarDoneBarButtonItemImage", ArgumentSemantic.Strong)] + UIImage ToolbarDoneBarButtonItemImage { get; set; } - // @property (assign, nonatomic) BOOL shouldHideToolbarPlaceholder; - [Export("shouldHideToolbarPlaceholder")] - bool ShouldHideToolbarPlaceholder { get; set; } + // @property (nonatomic, strong) NSString * _Nullable toolbarPreviousBarButtonItemText; + [NullAllowed, Export("toolbarPreviousBarButtonItemText", ArgumentSemantic.Strong)] + string ToolbarPreviousBarButtonItemText { get; set; } - // @property (assign, nonatomic) BOOL shouldHidePlaceholderText; - [Export("shouldHidePlaceholderText")] - bool ShouldHidePlaceholderText { get; set; } + // @property (nonatomic, strong) NSString * _Nullable toolbarNextBarButtonItemText; + [NullAllowed, Export("toolbarNextBarButtonItemText", ArgumentSemantic.Strong)] + string ToolbarNextBarButtonItemText { get; set; } - // @property (nonatomic, strong) NSString * _Nullable toolbarPlaceholder; - [NullAllowed, Export("toolbarPlaceholder", ArgumentSemantic.Strong)] - string ToolbarPlaceholder { get; set; } + // @property (nonatomic, strong) NSString * _Nullable toolbarDoneBarButtonItemText; + [NullAllowed, Export("toolbarDoneBarButtonItemText", ArgumentSemantic.Strong)] + string ToolbarDoneBarButtonItemText { get; set; } - // @property (nonatomic, strong) NSString * _Nullable placeholderText; - [NullAllowed, Export("placeholderText", ArgumentSemantic.Strong)] - string PlaceholderText { get; set; } + // @property (assign, nonatomic) BOOL shouldShowToolbarPlaceholder; + [Export("shouldShowToolbarPlaceholder")] + bool ShouldShowToolbarPlaceholder { get; set; } - // @property (readonly, nonatomic, strong) NSString * _Nullable drawingToolbarPlaceholder; - [NullAllowed, Export("drawingToolbarPlaceholder", ArgumentSemantic.Strong)] - string DrawingToolbarPlaceholder { get; } + // @property (nonatomic, strong) UIFont * _Nullable placeholderFont; + [NullAllowed, Export("placeholderFont", ArgumentSemantic.Strong)] + UIFont PlaceholderFont { get; set; } - // @property (readonly, nonatomic, strong) NSString * _Nullable drawingPlaceholderText; - [NullAllowed, Export("drawingPlaceholderText", ArgumentSemantic.Strong)] - string DrawingPlaceholderText { get; } + // @property (nonatomic, strong) UIColor * _Nullable placeholderColor; + [NullAllowed, Export("placeholderColor", ArgumentSemantic.Strong)] + UIColor PlaceholderColor { get; set; } - // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action; - [Export("addDoneOnKeyboardWithTarget:action:")] - void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action); + // @property (nonatomic, strong) UIColor * _Nullable placeholderButtonColor; + [NullAllowed, Export("placeholderButtonColor", ArgumentSemantic.Strong)] + UIColor PlaceholderButtonColor { get; set; } - // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; - [Export("addDoneOnKeyboardWithTarget:action:titleText:")] - void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); + // -(void)reloadInputViews; + [Export("reloadInputViews")] + void ReloadInputViews(); - // -(void)addDoneOnKeyboardWithTarget:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addDoneOnKeyboardWithTarget:action:shouldShowPlaceholder:")] - void AddDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); + // @property (assign, nonatomic) BOOL overrideKeyboardAppearance; + [Export("overrideKeyboardAppearance")] + bool OverrideKeyboardAppearance { get; set; } - // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action; - [Export("addRightButtonOnKeyboardWithText:target:action:")] - void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action); + // @property (assign, nonatomic) UIKeyboardAppearance keyboardAppearance; + [Export("keyboardAppearance", ArgumentSemantic.Assign)] + UIKeyboardAppearance KeyboardAppearance { get; set; } - // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; - [Export("addRightButtonOnKeyboardWithText:target:action:titleText:")] - void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); + // @property (assign, nonatomic) BOOL shouldResignOnTouchOutside; + [Export("shouldResignOnTouchOutside")] + bool ShouldResignOnTouchOutside { get; set; } - // -(void)addRightButtonOnKeyboardWithText:(NSString * _Nullable)text target:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addRightButtonOnKeyboardWithText:target:action:shouldShowPlaceholder:")] - void AddRightButtonOnKeyboardWithText([NullAllowed] string text, [NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); + // @property (readonly, nonatomic, strong) UITapGestureRecognizer * _Nonnull resignFirstResponderGesture; + [Export("resignFirstResponderGesture", ArgumentSemantic.Strong)] + UITapGestureRecognizer ResignFirstResponderGesture { get; } - // -(void)addRightButtonOnKeyboardWithImage:(UIImage * _Nullable)image target:(id _Nullable)target action:(SEL _Nullable)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addRightButtonOnKeyboardWithImage:target:action:shouldShowPlaceholder:")] - void AddRightButtonOnKeyboardWithImage([NullAllowed] UIImage image, [NullAllowed] NSObject target, [NullAllowed] Selector action, bool shouldShowPlaceholder); + // -(BOOL)resignFirstResponder; + [Export("resignFirstResponder")] + bool ResignFirstResponder { get; } - // -(void)addRightButtonOnKeyboardWithImage:(UIImage * _Nullable)image target:(id _Nullable)target action:(SEL _Nullable)action titleText:(NSString * _Nullable)titleText; - [Export("addRightButtonOnKeyboardWithImage:target:action:titleText:")] - void AddRightButtonOnKeyboardWithImage([NullAllowed] UIImage image, [NullAllowed] NSObject target, [NullAllowed] Selector action, [NullAllowed] string titleText); + // @property (readonly, nonatomic) BOOL canGoPrevious; + [Export("canGoPrevious")] + bool CanGoPrevious { get; } - // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction; - [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:")] - void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction); + // @property (readonly, nonatomic) BOOL canGoNext; + [Export("canGoNext")] + bool CanGoNext { get; } - // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction titleText:(NSString * _Nullable)titleText; - [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:titleText:")] - void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction, [NullAllowed] string titleText); + // -(BOOL)goPrevious; + [Export("goPrevious")] + bool GoPrevious { get; } - // -(void)addCancelDoneOnKeyboardWithTarget:(id _Nullable)target cancelAction:(SEL _Nullable)cancelAction doneAction:(SEL _Nullable)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addCancelDoneOnKeyboardWithTarget:cancelAction:doneAction:shouldShowPlaceholder:")] - void AddCancelDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector cancelAction, [NullAllowed] Selector doneAction, bool shouldShowPlaceholder); + // -(BOOL)goNext; + [Export("goNext")] + bool GoNext { get; } - // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction; - [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:")] - void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction); + // @property (assign, nonatomic) BOOL shouldPlayInputClicks; + [Export("shouldPlayInputClicks")] + bool ShouldPlayInputClicks { get; set; } - // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; - [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:titleText:")] - void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); + // @property (assign, nonatomic) BOOL layoutIfNeededOnUpdate; + [Export("layoutIfNeededOnUpdate")] + bool LayoutIfNeededOnUpdate { get; set; } - // -(void)addLeftRightOnKeyboardWithTarget:(id _Nullable)target leftButtonTitle:(NSString * _Nullable)leftButtonTitle rightButtonTitle:(NSString * _Nullable)rightButtonTitle leftButtonAction:(SEL _Nullable)leftButtonAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addLeftRightOnKeyboardWithTarget:leftButtonTitle:rightButtonTitle:leftButtonAction:rightButtonAction:shouldShowPlaceholder:")] - void AddLeftRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string leftButtonTitle, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector leftButtonAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledDistanceHandlingClasses; + [Export("disabledDistanceHandlingClasses", ArgumentSemantic.Strong)] + NSMutableSet DisabledDistanceHandlingClasses { get; } - // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction; - [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:")] - void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledDistanceHandlingClasses; + [Export("enabledDistanceHandlingClasses", ArgumentSemantic.Strong)] + NSMutableSet EnabledDistanceHandlingClasses { get; } - // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction titleText:(NSString * _Nullable)titleText; - [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:titleText:")] - void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction, [NullAllowed] string titleText); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledToolbarClasses; + [Export("disabledToolbarClasses", ArgumentSemantic.Strong)] + NSMutableSet DisabledToolbarClasses { get; } - // -(void)addPreviousNextDoneOnKeyboardWithTarget:(id _Nullable)target previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction doneAction:(SEL _Nullable)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addPreviousNextDoneOnKeyboardWithTarget:previousAction:nextAction:doneAction:shouldShowPlaceholder:")] - void AddPreviousNextDoneOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector doneAction, bool shouldShowPlaceholder); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledToolbarClasses; + [Export("enabledToolbarClasses", ArgumentSemantic.Strong)] + NSMutableSet EnabledToolbarClasses { get; } - // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction; - [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:")] - void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull toolbarPreviousNextAllowedClasses; + [Export("toolbarPreviousNextAllowedClasses", ArgumentSemantic.Strong)] + NSMutableSet ToolbarPreviousNextAllowedClasses { get; } - // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; - [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:titleText:")] - void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull disabledTouchResignedClasses; + [Export("disabledTouchResignedClasses", ArgumentSemantic.Strong)] + NSMutableSet DisabledTouchResignedClasses { get; } - // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonTitle:(NSString * _Nullable)rightButtonTitle previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonTitle:previousAction:nextAction:rightButtonAction:shouldShowPlaceholder:")] - void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] string rightButtonTitle, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull enabledTouchResignedClasses; + [Export("enabledTouchResignedClasses", ArgumentSemantic.Strong)] + NSMutableSet EnabledTouchResignedClasses { get; } - // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonImage:(UIImage * _Nullable)rightButtonImage previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction titleText:(NSString * _Nullable)titleText; - [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonImage:previousAction:nextAction:rightButtonAction:titleText:")] - void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] UIImage rightButtonImage, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, [NullAllowed] string titleText); + // @property (readonly, nonatomic, strong) NSMutableSet * _Nonnull touchResignedGestureIgnoreClasses; + [Export("touchResignedGestureIgnoreClasses", ArgumentSemantic.Strong)] + NSMutableSet TouchResignedGestureIgnoreClasses { get; } - // -(void)addPreviousNextRightOnKeyboardWithTarget:(id _Nullable)target rightButtonImage:(UIImage * _Nullable)rightButtonImage previousAction:(SEL _Nullable)previousAction nextAction:(SEL _Nullable)nextAction rightButtonAction:(SEL _Nullable)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - [Export("addPreviousNextRightOnKeyboardWithTarget:rightButtonImage:previousAction:nextAction:rightButtonAction:shouldShowPlaceholder:")] - void AddPreviousNextRightOnKeyboardWithTarget([NullAllowed] NSObject target, [NullAllowed] UIImage rightButtonImage, [NullAllowed] Selector previousAction, [NullAllowed] Selector nextAction, [NullAllowed] Selector rightButtonAction, bool shouldShowPlaceholder); + // -(void)registerTextFieldViewClass:(Class _Nonnull)aClass didBeginEditingNotificationName:(NSString * _Nonnull)didBeginEditingNotificationName didEndEditingNotificationName:(NSString * _Nonnull)didEndEditingNotificationName; + [Export("registerTextFieldViewClass:didBeginEditingNotificationName:didEndEditingNotificationName:")] + void RegisterTextFieldViewClass(Class aClass, string didBeginEditingNotificationName, string didEndEditingNotificationName); + + // -(void)unregisterTextFieldViewClass:(Class _Nonnull)aClass didBeginEditingNotificationName:(NSString * _Nonnull)didBeginEditingNotificationName didEndEditingNotificationName:(NSString * _Nonnull)didEndEditingNotificationName; + [Export("unregisterTextFieldViewClass:didBeginEditingNotificationName:didEndEditingNotificationName:")] + void UnregisterTextFieldViewClass(Class aClass, string didBeginEditingNotificationName, string didEndEditingNotificationName); + + // @property (assign, nonatomic) BOOL enableDebugging; + [Export("enableDebugging")] + bool EnableDebugging { get; set; } + + // -(void)registerAllNotifications; + [Export("registerAllNotifications")] + void RegisterAllNotifications(); + + // -(void)unregisterAllNotifications; + [Export("unregisterAllNotifications")] + void UnregisterAllNotifications(); } } diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQBarButtonItem.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQBarButtonItem.h index 1a759c4..25bf9ad 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQBarButtonItem.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQBarButtonItem.h @@ -21,7 +21,6 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. - #import @class NSInvocation; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager-umbrella.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager-umbrella.h index 49bb60a..437943d 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager-umbrella.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager-umbrella.h @@ -16,7 +16,6 @@ #import "IQUITextFieldView+Additions.h" #import "IQUIView+Hierarchy.h" #import "IQUIViewController+Additions.h" -#import "IQUIWindow+Hierarchy.h" #import "IQKeyboardManagerConstants.h" #import "IQTextView.h" #import "IQBarButtonItem.h" diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager.h index 21a1186..d4b7e50 100755 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManager.h @@ -22,6 +22,17 @@ // THE SOFTWARE. #import "IQKeyboardManagerConstants.h" +#import "IQUIView+IQKeyboardToolbar.h" +#import "IQPreviousNextView.h" +#import "IQUIViewController+Additions.h" +#import "IQKeyboardReturnKeyHandler.h" +#import "IQTextView.h" +#import "IQToolbar.h" +#import "IQUIScrollView+Additions.h" +#import "IQUITextFieldView+Additions.h" +#import "IQBarButtonItem.h" +#import "IQTitleBarButtonItem.h" +#import "IQUIView+Hierarchy.h" #import @@ -61,7 +72,7 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; ///-------------------------- /** - Returns the default singleton instance. + Returns the default singleton instance. You are not allowed to create your own instances of this class. */ + (nonnull instancetype)sharedManager; @@ -75,11 +86,6 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; */ @property(nonatomic, assign) CGFloat keyboardDistanceFromTextField; -/** - Prevent keyboard manager to slide up the rootView to more than keyboard height. Default is YES. - */ -@property(nonatomic, assign) BOOL preventShowingBottomBlankSpace; - /** Refreshes textField/textView position if any external changes is explicitly made by user. */ @@ -137,19 +143,22 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; @property(nonatomic, assign) IQPreviousNextDisplayMode previousNextDisplayMode; /** - Toolbar done button icon, If nothing is provided then check toolbarDoneBarButtonItemText to draw done button. + Toolbar previous/next/done button icon, If nothing is provided then check toolbarDoneBarButtonItemText to draw done button. */ +@property(nullable, nonatomic, strong) UIImage *toolbarPreviousBarButtonItemImage; +@property(nullable, nonatomic, strong) UIImage *toolbarNextBarButtonItemImage; @property(nullable, nonatomic, strong) UIImage *toolbarDoneBarButtonItemImage; /** - Toolbar done button text, If nothing is provided then system default 'UIBarButtonSystemItemDone' will be used. + Toolbar previous/next/done button text, If nothing is provided then system default 'UIBarButtonSystemItemDone' will be used. */ +@property(nullable, nonatomic, strong) NSString *toolbarPreviousBarButtonItemText; +@property(nullable, nonatomic, strong) NSString *toolbarNextBarButtonItemText; @property(nullable, nonatomic, strong) NSString *toolbarDoneBarButtonItemText; /** If YES, then it add the textField's placeholder text on IQToolbar. Default is YES. */ -@property(nonatomic, assign) BOOL shouldShowTextFieldPlaceholder __attribute__((deprecated("This is renamed to `shouldShowToolbarPlaceholder` for more clear naming."))); @property(nonatomic, assign) BOOL shouldShowToolbarPlaceholder; /** @@ -157,6 +166,16 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; */ @property(nullable, nonatomic, strong) UIFont *placeholderFont; +/** + Placeholder Color. Default is nil. Which means lightGray + */ +@property(nullable, nonatomic, strong) UIColor *placeholderColor; + +/** + Placeholder Button Color when it's treated as button. Default is nil. Which means iOS Blue for light toolbar and Yellow for dark toolbar + */ +@property(nullable, nonatomic, strong) UIColor *placeholderButtonColor; + /** Reload all toolbar buttons on the fly. */ @@ -231,15 +250,6 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; */ @property(nonatomic, assign) BOOL layoutIfNeededOnUpdate; -///----------------------------------------------- -/// @name InteractivePopGestureRecognizer handling -///----------------------------------------------- - -/** - If YES, then always consider UINavigationController.view begin point as {0,0}, this is a workaround to fix a bug #464 because there are no notification mechanism exist when UINavigationController.view.frame gets changed internally. - */ -@property(nonatomic, assign) BOOL shouldFixInteractivePopGestureRecognizer; - ///--------------------------------------------- /// @name Class Level enabling/disabling methods ///--------------------------------------------- @@ -308,7 +318,7 @@ extern NSInteger const kIQPreviousNextButtonToolbarTag; @property(nonatomic, assign) BOOL enableDebugging; /** - @warning Use below methods to completely enable/disable notifications registered by library internally. Please keep in mind that library is totally dependent on NSNotification of UITextField, UITextField, Keyboard etc. If you do unregisterAllNotifications then library will not work at all. You should only use below methods if you want to completedly disable all library functions. You should use below methods at your own risk. + @warning Use these methods to completely enable/disable notifications registered by library internally. Please keep in mind that library is totally dependent on NSNotification of UITextField, UITextField, Keyboard etc. If you do unregisterAllNotifications then library will not work at all. You should only use below methods if you want to completedly disable all library functions. You should use below methods at your own risk. */ -(void)registerAllNotifications; -(void)unregisterAllNotifications; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstants.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstants.h index 0421c08..548f16f 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstants.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstants.h @@ -62,6 +62,22 @@ typedef NS_ENUM(NSUInteger, IQPreviousNextDisplayMode) { IQPreviousNextDisplayModeAlwaysShow, }; +/** + `IQEnableModeDefault` + Pick default settings. + + `IQEnableModeEnabled` + setting is enabled. + + `IQEnableModeDisabled` + setting is disabled. + */ +typedef NS_ENUM(NSUInteger, IQEnableMode) { + IQEnableModeDefault, + IQEnableModeEnabled, + IQEnableModeDisabled, +}; + #endif /* diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstantsInternal.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstantsInternal.h deleted file mode 100644 index 3e6317a..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQKeyboardManagerConstantsInternal.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// IQKeyboardManagerConstantsInternal.h -// https://github.com/hackiftekhar/IQKeyboardManager -// Copyright (c) 2013-16 Iftekhar Qurashi. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#ifndef IQKeyboardManagerConstantsInternal_h -#define IQKeyboardManagerConstantsInternal_h - - -///----------------------------------- -/// @name IQLayoutGuidePosition -///----------------------------------- - -/** - `IQLayoutGuidePositionNone` - If there are no IQLayoutGuideConstraint associated with viewController - - `IQLayoutGuidePositionTop` - If provided IQLayoutGuideConstraint is associated with with viewController topLayoutGuide - - `IQLayoutGuidePositionBottom` - If provided IQLayoutGuideConstraint is associated with with viewController bottomLayoutGuide - */ -typedef NS_ENUM(NSInteger, IQLayoutGuidePosition) { - IQLayoutGuidePositionNone, - IQLayoutGuidePositionTop, - IQLayoutGuidePositionBottom, -}; - -//Xcode 8 compatibility check -#ifdef NSFoundationVersionNumber_iOS_9_x_Max - #define IQ_IS_IOS10_OR_GREATER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max) -#else - #define IQ_IS_IOS10_OR_GREATER NO -#endif - - -#endif diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQNSArray+Sort.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQNSArray+Sort.h deleted file mode 100644 index 3f40358..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQNSArray+Sort.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// NSArray+Sort.h -// https://github.com/hackiftekhar/IQKeyboardManager -// Copyright (c) 2013-16 Iftekhar Qurashi. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import - -/** - UIView.subviews sorting category. - */ -@interface NSArray (IQ_NSArray_Sort) - -///-------------- -/// @name Sorting -///-------------- - -/** - Returns the array by sorting the UIView's by their tag property. - */ -@property (nonatomic, readonly, copy) NSArray * _Nonnull sortedArrayByTag; - -/** - Returns the array by sorting the UIView's by their tag property. - */ -@property (nonatomic, readonly, copy) NSArray * _Nonnull sortedArrayByPosition; - -@end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTextView.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTextView.h index c8ec931..99a9bfa 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTextView.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTextView.h @@ -35,6 +35,16 @@ */ @property(nullable, nonatomic,copy) IBInspectable NSString *placeholder; +/** + Set textView's placeholder attributed text. Default is nil. + */ +@property(nullable, nonatomic,copy) IBInspectable NSAttributedString *attributedPlaceholder; + +/** + To set textView's placeholder text color. Default is nil. + */ +@property(nullable, nonatomic,copy) IBInspectable UIColor *placeholderTextColor; + @end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTitleBarButtonItem.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTitleBarButtonItem.h index 6bfe851..bd16835 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTitleBarButtonItem.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQTitleBarButtonItem.h @@ -37,9 +37,14 @@ @property(nullable, nonatomic, strong) UIFont *titleFont; /** - selectableTextColor to be used for displaying button text when button is enabled. + titleColor to be used for displaying button text when displaying title (disabled state). */ -@property(nullable, nonatomic, strong) UIColor *selectableTextColor; +@property(nullable, nonatomic, strong) UIColor *titleColor; + +/** + selectableTitleColor to be used for displaying button text when button is enabled. + */ +@property(nullable, nonatomic, strong) UIColor *selectableTitleColor; /** Initialize with frame and title. diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQToolbar.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQToolbar.h index 4ffabef..3ab3aee 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQToolbar.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQToolbar.h @@ -51,5 +51,10 @@ */ @property(nonnull, nonatomic, strong) IQBarButtonItem *doneBarButton; +/** + Fixed space bar button of toolbar. + */ +@property(nonnull, nonatomic, strong) IQBarButtonItem *fixedSpaceBarButton; + @end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIScrollView+Additions.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIScrollView+Additions.h index 7774a11..4ce4556 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIScrollView+Additions.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIScrollView+Additions.h @@ -21,7 +21,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import +#import +#import @interface UIScrollView (Additions) @@ -37,4 +38,18 @@ @property(nonatomic, assign) BOOL shouldRestoreScrollViewContentOffset; +@end + +@interface UITableView (PreviousNextIndexPath) + +-(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath; +//-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath; + +@end + +@interface UICollectionView (PreviousNextIndexPath) + +-(nullable NSIndexPath*)previousIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath; +//-(nullable NSIndexPath*)nextIndexPathOfIndexPath:(nonnull NSIndexPath*)indexPath; + @end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUITextFieldView+Additions.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUITextFieldView+Additions.h index f7350b7..8da65e3 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUITextFieldView+Additions.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUITextFieldView+Additions.h @@ -21,7 +21,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import +#import +#import "IQKeyboardManagerConstants.h" /** UIView category for managing UITextField/UITextView @@ -39,6 +40,16 @@ */ @property(nonatomic, assign) BOOL ignoreSwitchingByNextPrevious; +///** +// Override Enable/disable managing distance between keyboard and textField behaviour for this particular textField. +// */ +//@property(nonatomic, assign) IQEnableMode enableMode; + +/** + Override resigns Keyboard on touching outside of UITextField/View behaviour for this particular textField. + */ +@property(nonatomic, assign) IQEnableMode shouldResignOnTouchOutsideMode; + @end ///------------------------------------------- diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+Hierarchy.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+Hierarchy.h index 9ff9134..9737959 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+Hierarchy.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+Hierarchy.h @@ -22,9 +22,10 @@ // THE SOFTWARE. #import +#import #import "IQKeyboardManagerConstants.h" -@class UICollectionView, UIScrollView, UITableView, NSArray; +@class UICollectionView, UIScrollView, UITableView, UISearchBar, NSArray; /** UIView hierarchy category. @@ -38,40 +39,50 @@ /** Returns the UIViewController object that manages the receiver. */ -@property (nullable, nonatomic, readonly, strong) UIViewController *viewController; +@property (nullable, nonatomic, readonly, strong) UIViewController *viewContainingController; /** Returns the topMost UIViewController object in hierarchy. */ @property (nullable, nonatomic, readonly, strong) UIViewController *topMostController; +/** + Returns the UIViewController object that is actually the parent of this object. Most of the time it's the viewController object which actually contains it, but result may be different if it's viewController is added as childViewController of another viewController. + */ +@property (nullable, nonatomic, readonly, strong) UIViewController *parentContainerViewController; + ///----------------------------------- /// @name Superviews/Subviews/Siglings ///----------------------------------- /** Returns the superView of provided class type. + + @param classType class type of the object which is to be search in above hierarchy and return + + @param belowView view object in upper hierarchy where method should stop searching and return nil */ --(nullable UIView*)superviewOfClassType:(nonnull Class)classType; +-(nullable __kindof UIView*)superviewOfClassType:(nonnull Class)classType belowView:(nullable UIView*)belowView; +-(nullable __kindof UIView*)superviewOfClassType:(nonnull Class)classType; /** Returns all siblings of the receiver which canBecomeFirstResponder. */ -@property (nonnull, nonatomic, readonly, copy) NSArray *responderSiblings; +@property (nonnull, nonatomic, readonly, copy) NSArray<__kindof UIView*> *responderSiblings; /** Returns all deep subViews of the receiver which canBecomeFirstResponder. */ -@property (nonnull, nonatomic, readonly, copy) NSArray *deepResponderViews; +@property (nonnull, nonatomic, readonly, copy) NSArray<__kindof UIView*> *deepResponderViews; ///------------------------- /// @name Special TextFields ///------------------------- /** - Returns YES if the receiver object is UISearchBarTextField, otherwise return NO. + Returns searchBar if receiver object is UISearchBarTextField, otherwise return nil. */ -@property (nonatomic, getter=isSearchBarTextField, readonly) BOOL searchBarTextField; +@property (nullable, nonatomic, readonly) UISearchBar *textFieldSearchBar; /** Returns YES if the receiver object is UIAlertSheetTextField, otherwise return NO. @@ -109,6 +120,12 @@ @end +@interface UIViewController (IQ_UIView_Hierarchy) + +-(nullable UIViewController*)parentIQContainerViewController; + +@end + /** NSObject category to used for logging purposes */ diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+IQKeyboardToolbar.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+IQKeyboardToolbar.h index bc3313d..660b562 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+IQKeyboardToolbar.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIView+IQKeyboardToolbar.h @@ -24,6 +24,32 @@ #import "IQToolbar.h" #import +#import + +@interface IQBarButtonItemConfiguration : NSObject + +-(nonnull instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)barButtonSystemItem action:(nullable SEL)action; +-(nonnull instancetype)initWithImage:(nonnull UIImage*)image action:(nullable SEL)action; +-(nonnull instancetype)initWithTitle:(nonnull NSString*)title action:(nullable SEL)action; + +@property (readonly, nonatomic) UIBarButtonSystemItem barButtonSystemItem; //System Item to be used to instantiate bar button +@property (readonly, nonatomic, nullable) UIImage *image; //Image to show on bar button item if it's not a system item. +@property (readonly, nonatomic, nullable) NSString *title; //Title to show on bar button item if it's not a system item. +@property (readonly, nonatomic, nullable) SEL action; //action for bar button item. Usually 'doneAction:(IQBarButtonItem*)item'. + +@end + +@interface UIImage (IQKeyboardToolbarNextPreviousImage) + ++(nullable UIImage*)keyboardPreviousiOS9Image; ++(nullable UIImage*)keyboardNextiOS9Image; ++(nullable UIImage*)keyboardPreviousiOS10Image; ++(nullable UIImage*)keyboardNextiOS10Image; + ++(nullable UIImage*)keyboardPreviousImage; ++(nullable UIImage*)keyboardNextImage; + +@end /** UIView category methods to add IQToolbar on UIKeyboard. @@ -43,273 +69,78 @@ If `shouldHideToolbarPlaceholder` is YES, then title will not be added to the toolbar. Default to NO. */ @property (assign, nonatomic) BOOL shouldHideToolbarPlaceholder; -@property (assign, nonatomic) BOOL shouldHidePlaceholderText __attribute__((deprecated("This is renamed to `shouldHideToolbarPlaceholder` for more clear naming."))); /** `toolbarPlaceholder` to override default `placeholder` text when drawing text on toolbar. */ @property (nullable, strong, nonatomic) NSString* toolbarPlaceholder; -@property (nullable, strong, nonatomic) NSString* placeholderText __attribute__((deprecated("This is renamed to `toolbarPlaceholder` for more clear naming."))); /** `drawingToolbarPlaceholder` will be actual text used to draw on toolbar. This would either `placeholder` or `toolbarPlaceholder`. */ @property (nullable, strong, nonatomic, readonly) NSString* drawingToolbarPlaceholder; -@property (nullable, strong, nonatomic, readonly) NSString* drawingPlaceholderText __attribute__((deprecated("This is renamed to `drawingToolbarPlaceholder` for more clear naming."))); + +///------------- +/// MARK: Common +///------------- + +- (void)addKeyboardToolbarWithTarget:(nullable id)target titleText:(nullable NSString*)titleText rightBarButtonConfiguration:(nullable IQBarButtonItemConfiguration*)rightBarButtonConfiguration previousBarButtonConfiguration:(nullable IQBarButtonItemConfiguration*)previousBarButtonConfiguration nextBarButtonConfiguration:(nullable IQBarButtonItemConfiguration*)nextBarButtonConfiguration; ///------------ /// @name Done ///------------ -/** - Helper function to add Done button on keyboard. - - @param target Target object for selector. - @param action Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addDoneOnKeyboardWithTarget:(nullable id)target action:(nullable SEL)action; - -/** - Helper function to add Done button on keyboard. - - @param target Target object for selector. - @param action Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addDoneOnKeyboardWithTarget:(nullable id)target action:(nullable SEL)action titleText:(nullable NSString*)titleText; - -/** - Helper function to add Done button on keyboard. - - @param target Target object for selector. - @param action Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addDoneOnKeyboardWithTarget:(nullable id)target action:(nullable SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addDoneOnKeyboardWithTarget:(nullable id)target action:(nullable SEL)action titleText:(nullable NSString*)titleText; ///------------ /// @name Right ///------------ -/** - Helper function to add Right button on keyboard. - - @param text Title for rightBarButtonItem, usually 'Done'. - @param target Target object for selector. - @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addRightButtonOnKeyboardWithText:(nullable NSString*)text target:(nullable id)target action:(nullable SEL)action; - -/** - Helper function to add Right button on keyboard. - - @param text Title for rightBarButtonItem, usually 'Done'. - @param target Target object for selector. - @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addRightButtonOnKeyboardWithText:(nullable NSString*)text target:(nullable id)target action:(nullable SEL)action titleText:(nullable NSString*)titleText; - -/** - Helper function to add Right button on keyboard. - - @param text Title for rightBarButtonItem, usually 'Done'. - @param target Target object for selector. - @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addRightButtonOnKeyboardWithText:(nullable NSString*)text target:(nullable id)target action:(nullable SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addRightButtonOnKeyboardWithText:(nullable NSString*)text target:(nullable id)target action:(nullable SEL)action titleText:(nullable NSString*)titleText; -/** - Helper function to add Right button on keyboard. - - @param image Image icon to use as right button. - @param target Target object for selector. - @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ +- (void)addRightButtonOnKeyboardWithImage:(nullable UIImage*)image target:(nullable id)target action:(nullable SEL)action; - (void)addRightButtonOnKeyboardWithImage:(nullable UIImage*)image target:(nullable id)target action:(nullable SEL)action shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; - -/** - Helper function to add Right button on keyboard. - - @param image Image icon to use as right button. - @param target Target object for selector. - @param action Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ - (void)addRightButtonOnKeyboardWithImage:(nullable UIImage*)image target:(nullable id)target action:(nullable SEL)action titleText:(nullable NSString*)titleText; ///------------------ /// @name Cancel/Done ///------------------ -/** - Helper function to add Cancel and Done button on keyboard. - - @param target Target object for selector. - @param cancelAction Cancel button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addCancelDoneOnKeyboardWithTarget:(nullable id)target cancelAction:(nullable SEL)cancelAction doneAction:(nullable SEL)doneAction; - -/** - Helper function to add Cancel and Done button on keyboard. - - @param target Target object for selector. - @param cancelAction Cancel button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addCancelDoneOnKeyboardWithTarget:(nullable id)target cancelAction:(nullable SEL)cancelAction doneAction:(nullable SEL)doneAction titleText:(nullable NSString*)titleText; - -/** - Helper function to add Cancel and Done button on keyboard. - - @param target Target object for selector. - @param cancelAction Cancel button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addCancelDoneOnKeyboardWithTarget:(nullable id)target cancelAction:(nullable SEL)cancelAction doneAction:(nullable SEL)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addCancelDoneOnKeyboardWithTarget:(nullable id)target cancelAction:(nullable SEL)cancelAction doneAction:(nullable SEL)doneAction titleText:(nullable NSString*)titleText; ///----------------- /// @name Right/Left ///----------------- -/** - Helper function to add Left and Right button on keyboard. - - @param target Target object for selector. - @param leftButtonTitle Title for leftBarButtonItem, usually 'Cancel'. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param leftButtonAction Left button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param rightButtonAction Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addLeftRightOnKeyboardWithTarget:(nullable id)target leftButtonTitle:(nullable NSString*)leftButtonTitle rightButtonTitle:(nullable NSString*)rightButtonTitle leftButtonAction:(nullable SEL)leftButtonAction rightButtonAction:(nullable SEL)rightButtonAction; - -/** - Helper function to add Left and Right button on keyboard. - - @param target Target object for selector. - @param leftButtonTitle Title for leftBarButtonItem, usually 'Cancel'. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param leftButtonAction Left button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param rightButtonAction Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addLeftRightOnKeyboardWithTarget:(nullable id)target leftButtonTitle:(nullable NSString*)leftButtonTitle rightButtonTitle:(nullable NSString*)rightButtonTitle leftButtonAction:(nullable SEL)leftButtonAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; - -/** - Helper function to add Left and Right button on keyboard. - - @param target Target object for selector. - @param leftButtonTitle Title for leftBarButtonItem, usually 'Cancel'. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param leftButtonAction Left button action name. Usually 'cancelAction:(IQBarButtonItem*)item'. - @param rightButtonAction Right button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addLeftRightOnKeyboardWithTarget:(nullable id)target leftButtonTitle:(nullable NSString*)leftButtonTitle rightButtonTitle:(nullable NSString*)rightButtonTitle leftButtonAction:(nullable SEL)leftButtonAction rightButtonAction:(nullable SEL)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addLeftRightOnKeyboardWithTarget:(nullable id)target leftButtonTitle:(nullable NSString*)leftButtonTitle rightButtonTitle:(nullable NSString*)rightButtonTitle leftButtonAction:(nullable SEL)leftButtonAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; ///------------------------- /// @name Previous/Next/Done ///------------------------- -/** - Helper function to add ArrowNextPrevious and Done button on keyboard. - - @param target Target object for selector. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addPreviousNextDoneOnKeyboardWithTarget:(nullable id)target previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction doneAction:(nullable SEL)doneAction; - -/** - Helper function to add ArrowNextPrevious and Done button on keyboard. - - @param target Target object for selector. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addPreviousNextDoneOnKeyboardWithTarget:(nullable id)target previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction doneAction:(nullable SEL)doneAction titleText:(nullable NSString*)titleText; - -/** - Helper function to add ArrowNextPrevious and Done button on keyboard. - - @param target Target object for selector. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param doneAction Done button action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addPreviousNextDoneOnKeyboardWithTarget:(nullable id)target previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction doneAction:(nullable SEL)doneAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addPreviousNextDoneOnKeyboardWithTarget:(nullable id)target previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction doneAction:(nullable SEL)doneAction titleText:(nullable NSString*)titleText; ///-------------------------- /// @name Previous/Next/Right ///-------------------------- -/** - Helper function to add ArrowNextPrevious and Right button on keyboard. - - @param target Target object for selector. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param rightButtonAction RightBarButton action name. Usually 'doneAction:(IQBarButtonItem*)item'. - */ - (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonTitle:(nullable NSString*)rightButtonTitle previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction; - -/** - Helper function to add ArrowNextPrevious and Right button on keyboard. - - @param target Target object for selector. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param rightButtonAction RightBarButton action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonTitle:(nullable NSString*)rightButtonTitle previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; - -/** - Helper function to add ArrowNextPrevious and Right button on keyboard. - - @param target Target object for selector. - @param rightButtonTitle Title for rightBarButtonItem, usually 'Done'. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param rightButtonAction RightBarButton action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ - (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonTitle:(nullable NSString*)rightButtonTitle previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonTitle:(nullable NSString*)rightButtonTitle previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; -/** - Helper function to add ArrowNextPrevious and Right button on keyboard. - - @param target Target object for selector. - @param rightButtonImage Image icon to use as rightBarButtonItem. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param rightButtonAction RightBarButton action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param titleText text to show as title in IQToolbar'. - */ -- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; - -/** - Helper function to add ArrowNextPrevious and Right button on keyboard. - - @param target Target object for selector. - @param rightButtonImage Image icon to use as rightBarButtonItem. - @param previousAction Previous button action name. Usually 'previousAction:(id)item'. - @param nextAction Next button action name. Usually 'nextAction:(id)item'. - @param rightButtonAction RightBarButton action name. Usually 'doneAction:(IQBarButtonItem*)item'. - @param shouldShowPlaceholder A boolean to indicate whether to show textField placeholder on IQToolbar'. - */ +- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction; - (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction shouldShowPlaceholder:(BOOL)shouldShowPlaceholder; +- (void)addPreviousNextRightOnKeyboardWithTarget:(nullable id)target rightButtonImage:(nullable UIImage*)rightButtonImage previousAction:(nullable SEL)previousAction nextAction:(nullable SEL)nextAction rightButtonAction:(nullable SEL)rightButtonAction titleText:(nullable NSString*)titleText; @end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIViewController+Additions.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIViewController+Additions.h index e7264b4..f134bcb 100644 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIViewController+Additions.h +++ b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIViewController+Additions.h @@ -21,15 +21,17 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import +#import + +@class NSLayoutConstraint; @interface UIViewController (Additions) /** Top/Bottom Layout constraint which help library to manage keyboardTextField distance - @deprecated Library is internally handling Safe Area (If you are using Safe Area from Xcode9 and iOS11) and there is no need to do any tweak if you already migrated to use Safe Area + @deprecated Due to change in core-logic of handling distance between textField and keyboard distance, this layout contraint tweak is no longer needed and things will just work out of the box regardless of constraint pinned with safeArea/layoutGuide/superview. */ -@property(nullable, nonatomic, strong) IBOutlet NSLayoutConstraint *IQLayoutGuideConstraint NS_DEPRECATED_IOS(8_0, 11_0); +@property(nullable, nonatomic, strong) IBOutlet NSLayoutConstraint *IQLayoutGuideConstraint __attribute__((deprecated("Due to change in core-logic of handling distance between textField and keyboard distance, this layout contraint tweak is no longer needed and things will just work out of the box regardless of constraint pinned with safeArea/layoutGuide/superview."))); @end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIWindow+Hierarchy.h b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIWindow+Hierarchy.h deleted file mode 100644 index 8b4d267..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Headers/IQUIWindow+Hierarchy.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// IQUIWindow+Hierarchy.h -// https://github.com/hackiftekhar/IQKeyboardManager -// Copyright (c) 2013-16 Iftekhar Qurashi. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import - -@class UIViewController; - -/** - UIWindow hierarchy category. - */ -@interface UIWindow (IQ_UIWindow_Hierarchy) - -///---------------------- -/// @name viewControllers -///---------------------- - -/** - Returns the current Top Most ViewController in hierarchy. - */ -@property (nullable, nonatomic, readonly, strong) UIViewController *topMostWindowController; - -/** - Returns the topViewController in stack of topMostWindowController. - */ -@property (nullable, nonatomic, readonly, strong) UIViewController *currentViewController; - - -@end diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager index b642b30..170dc00 100755 Binary files a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager and b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager differ diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/de.lproj/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/de.lproj/IQKeyboardManager.strings deleted file mode 100644 index 96890c0..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/de.lproj/IQKeyboardManager.strings +++ /dev/null @@ -1,13 +0,0 @@ - -"enabled" = "aktiviert"; - -"disabled" = "deaktiviert"; - -"already disabled" = "bereits deaktiviert"; - -"already enabled" = "bereits aktiviert"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Sie müssen im AppDelegate UIWindow.rootViewController setzen um mit IQKeyboardManager zu arbeiten"; - -"Previous" = "Zurück"; -"Next" = "Vor"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/en.lproj/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/en.lproj/IQKeyboardManager.strings deleted file mode 100644 index 21802b5..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/en.lproj/IQKeyboardManager.strings +++ /dev/null @@ -1,13 +0,0 @@ - -"enabled" = "enabled"; - -"disabled" = "disabled"; - -"already disabled" = "already disabled"; - -"already enabled" = "already enabled"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager"; - -"Previous" = "Previous"; -"Next" = "Next"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/es.lproj/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/es.lproj/IQKeyboardManager.strings deleted file mode 100644 index 879a479..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/es.lproj/IQKeyboardManager.strings +++ /dev/null @@ -1,14 +0,0 @@ - -"enabled" = "activado"; - -"disabled" = "desactivado"; - -"already disabled" = "ya está desactivado"; - -"already enabled" = "ya está activado"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Debe establecer UIWindow.rootViewController en su AppDelegate para trabajar con IQKeyboardManager"; - -"Previous" = "Anterior"; - -"Next" = "Siguiente"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/fr.lproj/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/fr.lproj/IQKeyboardManager.strings deleted file mode 100644 index 584cd1c..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/fr.lproj/IQKeyboardManager.strings +++ /dev/null @@ -1,13 +0,0 @@ - -"enabled" = "activé"; - -"disabled" = "désactivé"; - -"already disabled" = "déjà désactivé"; - -"already enabled" = "déjà activé"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Vous devez définir UIWindow.rootViewController dans votre AppDelegate pour IQKeyboardManager fonctionne"; - -"Previous" = "Précédent"; -"Next" = "Suivant"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hans/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hans/IQKeyboardManager.strings deleted file mode 100644 index 649ec8b..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hans/IQKeyboardManager.strings +++ /dev/null @@ -1,13 +0,0 @@ - -"enabled" = "开启"; - -"disabled" = "关闭"; - -"already disabled" = "已经开启"; - -"already enabled" = "已经关闭"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "为了使用IQKeyboardManager,必须在你的 AppDelegate 中设置 UIWindow.rootViewController。"; - -"Previous" = "前一个"; -"Next" = "下一个"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hant/IQKeyboardManager.strings b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hant/IQKeyboardManager.strings deleted file mode 100644 index e64709d..0000000 --- a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager.bundle/zh-Hant/IQKeyboardManager.strings +++ /dev/null @@ -1,13 +0,0 @@ - -"enabled" = "開啟"; - -"disabled" = "關閉"; - -"already disabled" = "已經開啟"; - -"already enabled" = "已經關閉"; - -"You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "為了使用IQKeyboardManager,必須在妳的 AppDelegate 中設置 UIWindow.rootViewController。"; - -"Previous" = "前一個"; -"Next" = "下一個"; diff --git a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Info.plist b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Info.plist index 563528f..1d8569a 100644 Binary files a/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Info.plist and b/Xamarin.IQKeyboardManager/IQKeyboardManager.framework/Info.plist differ diff --git a/Xamarin.IQKeyboardManager/StructsAndEnums.cs b/Xamarin.IQKeyboardManager/StructsAndEnums.cs index 33a6f77..e89c4fb 100644 --- a/Xamarin.IQKeyboardManager/StructsAndEnums.cs +++ b/Xamarin.IQKeyboardManager/StructsAndEnums.cs @@ -1,7 +1,8 @@ using System; using ObjCRuntime; -namespace Xamarin { +namespace Xamarin +{ [Native] public enum IQAutoToolbarManageBehaviour : long { @@ -11,7 +12,7 @@ public enum IQAutoToolbarManageBehaviour : long } [Native] - public enum IQPreviousNextDisplayMode : long + public enum IQPreviousNextDisplayMode : ulong { Default, AlwaysHide, @@ -25,4 +26,12 @@ public enum IQLayoutGuidePosition : long Top, Bottom } + + [Native] + public enum IQEnableMode : ulong + { + Default, + Enabled, + Disabled + } } \ No newline at end of file