public override void ViewDidLoad() { base.ViewDidLoad(); // Keyboard popup _observer1 = NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.DidShowNotification, KeyBoardUpNotification); // Keyboard Down _observer2 = NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillHideNotification, KeyBoardDownNotification); if (App.Locator.AddSeekios.IsAdding) { // Seekios Name Toolbar (next -> go to IMEI) var toolbarName = new UIToolbar(); toolbarName.BarStyle = UIBarStyle.Default; toolbarName.Translucent = true; toolbarName.SizeToFit(); var nextNameButton = new UIBarButtonItem(Application.LocalizedString("Next"), UIBarButtonItemStyle.Done, (s, e) => { SeekiosNameTextField.ResignFirstResponder(); SeekiosIMEITextField.BecomeFirstResponder(); }); toolbarName.SetItems(new UIBarButtonItem[] { nextNameButton }, true); SeekiosNameTextField.InputAccessoryView = toolbarName; // Seekios IMEI Toolbar (next -> go to Pin Code) var toolbarIMEI = new UIToolbar(); toolbarIMEI.BarStyle = UIBarStyle.Default; toolbarIMEI.Translucent = true; toolbarIMEI.SizeToFit(); var nextIMEIButton = new UIBarButtonItem(Application.LocalizedString("Next"), UIBarButtonItemStyle.Done, (s, e) => { SeekiosIMEITextField.ResignFirstResponder(); SeekiosPinCodeTextField.BecomeFirstResponder(); }); toolbarIMEI.SetItems(new UIBarButtonItem[] { nextIMEIButton }, true); SeekiosIMEITextField.InputAccessoryView = toolbarIMEI; // Seekios Pin Code Toolbar (Done -> save the seekios) var toolbarPinCode = new UIToolbar(); toolbarPinCode.BarStyle = UIBarStyle.Default; toolbarPinCode.Translucent = true; toolbarPinCode.SizeToFit(); var nextPinCodeButton = new UIBarButtonItem(Application.LocalizedString("DoneButton"), UIBarButtonItemStyle.Done, (s, e) => { SeekiosPinCodeTextField.ResignFirstResponder(); SaveButton_TouchUpInside(null, null); }); toolbarPinCode.SetItems(new UIBarButtonItem[] { nextPinCodeButton }, true); SeekiosPinCodeTextField.InputAccessoryView = toolbarPinCode; } SeekiosImageView.AddGestureRecognizer(new UITapGestureRecognizer(() => { ModifySeekiosImageButton_TouchDown(null, null); })); ModifySeekiosImageButton.TouchDown += ModifySeekiosImageButton_TouchDown; DeleteButton.TouchUpInside += DeleteButton_TouchUpInside; BuySeekiosButton.TouchDown += BuySeekiosButton_TouchDown; SaveButton.TouchUpInside += SaveButton_TouchUpInside; NeedUpdateButton.TouchDown += NeedUpdateButton_TouchDown; }
public override void SetDataAndStyleToView() { InitialiseAllStrings(); if (App.Locator.AddSeekios.IsAdding) { NavigationItem.Title = Application.LocalizedString("AddSeekiosTitle"); NotificationTrackingSwitch.Hidden = true; NotificationZoneSwitch.Hidden = true; NotificationDontMoveSwitch.Hidden = true; NotificationTrackingLabel.Hidden = true; NotificationZoneLabel.Hidden = true; NotificationDontMoveLabel.Hidden = true; DeleteButton.Hidden = true; } else { NotificationTrackingSwitch.On = App.Locator.DetailSeekios.SeekiosSelected.SendNotificationOnNewTrackingLocation; NotificationZoneSwitch.On = App.Locator.DetailSeekios.SeekiosSelected.SendNotificationOnNewOutOfZoneLocation; NotificationDontMoveSwitch.On = App.Locator.DetailSeekios.SeekiosSelected.SendNotificationOnNewDontMoveLocation; NavigationItem.Title = Application.LocalizedString("Parameters"); try { // Sometimes : System.Exception: Could not initialize an instance of the type 'UIKit.UIImage': the native 'initWithData:' method returned nil. // Solution : Clean & Rebuild https://forums.xamarin.com/discussion/25248/how-to-find-the-image-that-is-not-found-on-ios SetSeekiosDataToView(); } catch (Exception) { } } // Round seekios image SeekiosImageView.Layer.CornerRadius = SeekiosImageView.Frame.Size.Width / 2; SeekiosImageView.ClipsToBounds = true; // Round corner on the button modify the image of the seekios ModifySeekiosImageButton.Layer.CornerRadius = 4; ModifySeekiosImageButton.Layer.BorderWidth = 1; ModifySeekiosImageButton.Layer.BorderColor = UIColor.FromRGBA(98, 218, 115, 255).CGColor; ModifySeekiosImageButton.ContentEdgeInsets = new UIEdgeInsets(5, 10, 5, 10); // Round corner on the button save data SaveButton.Layer.CornerRadius = 4; SaveButton.Layer.MasksToBounds = true; BuySeekiosButton.Layer.CornerRadius = 4; BuySeekiosButton.Layer.MasksToBounds = true; DeleteButton.Layer.CornerRadius = 4; DeleteButton.Layer.MasksToBounds = true; // Set up the max of caractere, only digit and the type of the keyboard sould be numeric SeekiosNameTextField.EditingChanged += SeekiosNameTextField_EditingChanged; SeekiosIMEITextField.EditingChanged += SeekiosIMEITextField_EditingChanged; SeekiosPinCodeTextField.EditingChanged += SeekiosPinCodeTextField_EditingChanged; SeekiosNameTextField.ShouldReturn += (textField) => { SeekiosNameTextField.ResignFirstResponder(); if (App.Locator.AddSeekios.IsAdding) { SeekiosIMEITextField.BecomeFirstResponder(); } return(true); }; SeekiosIMEITextField.ShouldReturn += (textField) => { SeekiosIMEITextField.ResignFirstResponder(); return(true); }; SeekiosPinCodeTextField.ShouldReturn += (textField) => { SeekiosPinCodeTextField.ResignFirstResponder(); return(true); }; SeekiosPinCodeTextField.ShouldChangeCharacters = (textField, range, replacement) => { int number; return(replacement.Length == 0 || int.TryParse(replacement, out number)); }; SeekiosIMEITextField.ShouldChangeCharacters = (textField, range, replacement) => { int number; return(replacement.Length == 0 || int.TryParse(replacement, out number)); }; if (App.Locator.AddSeekios.IsAdding) { SeekiosNameTextField.ReturnKeyType = UIReturnKeyType.Next; SeekiosIMEITextField.ReturnKeyType = UIReturnKeyType.Next; SeekiosPinCodeTextField.ReturnKeyType = UIReturnKeyType.Done; } else { SeekiosNameTextField.ReturnKeyType = UIReturnKeyType.Done; } SeekiosIMEITextField.KeyboardType = UIKeyboardType.DecimalPad; SeekiosPinCodeTextField.KeyboardType = UIKeyboardType.DecimalPad; }