Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }