public override UITableViewCell GetCell(UITableView tv) { RectangleF frame; if (datePicker == null) { label = new UILabel { Text = Caption }; label.SizeToFit(); frame = label.Frame; frame.X = 15; frame.Y = 5; label.Frame = frame; datePicker = CreatePicker(); } if(datePicker.Date != DateValue) datePicker.Date = DateValue; frame = datePicker.Frame; frame.Y = frame.X = 0; datePicker.Frame = frame; var cell = tv.DequeueReusableCell("datePicker") ?? new UITableViewCell(UITableViewCellStyle.Default, "datePicker") { Accessory = UITableViewCellAccessory.None }; cell.ContentView.Add(label); if(cell.ContentView != datePicker.Superview) cell.ContentView.Add(datePicker); return cell; }
void Initialize () { Title = Locale.GetText ("Reservierung"); ServiceAgent.Current.ServiceClient.CreateReservationByObjectCompleted += this.HandleReservationCompleted; /* _hud = new LoadingHUDView (){ //HudBackgroundColor = Resources.Colors.BackgroundHUD, ShowRoundedRectangle = true }; */ _reservationDatePicker = new UIDatePicker (); _reservationDatePicker.Locale = NSLocale.CurrentLocale; _reservationDatePicker.TimeZone = NSTimeZone.FromAbbreviation ("GMT"); //NSTimeZone.LocalTimeZone; _reservationDatePicker.ValueChanged += delegate { this.txtDate.Text = _reservationDatePicker.Date.ToDateTime().ToLongDateTimeString(); }; var seatsModel = new SeatsPickerModel (MAX_SEATS); _seatsPicker = new UIPickerView (){ Model = seatsModel, ShowSelectionIndicator = true, }; seatsModel.ValueChanged += delegate(object sender, EventArgs<int> e) { txtSeats.Text = e.Value.ToString (); }; _seatsPicker.Frame = new RectangleF (_seatsPicker.Frame.X, _seatsPicker.Frame.Y, _seatsPicker.Frame.Width, 80f); }
public override void ViewDidLoad () { base.ViewDidLoad (); UIDatePicker datePicker = new UIDatePicker (); datePicker.Mode = UIDatePickerMode.Date; datePicker.BackgroundColor = UIColor.White; datePicker.MinimumDate = DateTime.Today.AddDays(-7); datePicker.MaximumDate = DateTime.Today.AddDays(7); UIToolbar toolbar = new UIToolbar(); toolbar.BarStyle = UIBarStyle.Default; toolbar.Translucent = true; toolbar.SizeToFit(); UIBarButtonItem doneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (s, e) => { DateTime dateTime = DateTime.SpecifyKind(datePicker.Date, DateTimeKind.Unspecified); this.textField.Text = dateTime.ToString("MM-dd-yyyy"); this.textField.ResignFirstResponder(); }); toolbar.SetItems(new UIBarButtonItem[]{doneButton}, true); this.textField.InputAccessoryView = toolbar; textField.InputView = datePicker; }
public void Include (UIDatePicker date) { date.Date = date.Date.AddSeconds (1); date.ValueChanged += (sender, args) => { date.Date = (Foundation.NSDate)DateTime.MaxValue; }; }
protected override object GetValueFrom(UIDatePicker view) { var components = NSCalendar.CurrentCalendar.Components( NSCalendarUnit.Hour | NSCalendarUnit.Minute | NSCalendarUnit.Second, view.Date); return new TimeSpan((int)components.Hour, (int)components.Minute, (int)components.Second); }
public SettingsTableSource(UITableViewController controller, string cellID) { this.cellID = cellID; this.controller = controller; // Set up the NSDateFormatter this.dateFormatter = new NSDateFormatter(); this.dateFormatter.DateStyle = NSDateFormatterStyle.None; this.dateFormatter.TimeStyle = NSDateFormatterStyle.Short; // Set up the UIDatePicker this.timePicker = new UIDatePicker(); timePicker.Mode = UIDatePickerMode.Time; timePicker.Date = NSDate.Now; timePicker.Hidden = true; this.timePickerIsShowing = false; this.dayPickerDay = 1; this.dayPickerUnit = "Days"; // Set up the UIPickerView this.dayPicker = new UIPickerView(); this.dayPicker.DataSource = new DayPickerSource(); this.dayPicker.Delegate = new DayPickerDelegate(this); this.dayPicker.Hidden = true; this.dayPickerIsShowing = false; }
void ReleaseDesignerOutlets () { if (datePicker != null) { datePicker.Dispose (); datePicker = null; } }
public virtual UIDatePicker CreatePicker () { var picker = new UIDatePicker (RectangleF.Empty){ AutoresizingMask = UIViewAutoresizing.FlexibleWidth, Mode = UIDatePickerMode.DateAndTime, Date = DateValue }; return picker; }
public void CreateDatePicker() { datePickerView = new UIDatePicker (RectangleF.Empty) { AutoresizingMask = UIViewAutoresizing.FlexibleWidth, Mode = UIDatePickerMode.Date, Hidden = true }; datePickerView.Frame = PickerFrameWithSize (datePickerView.SizeThatFits (SizeF.Empty)); View.AddSubview (datePickerView); }
/// <summary> /// Initializes a new instance of the <see cref="XamDialogs.DHDatePickerDialog"/> class. /// </summary> /// <param name="mode">Mode.</param> public XamDatePickerDialog (UIDatePickerMode mode) : base(XamDialogType.DatePicker) { mDatePicker = new UIDatePicker (CGRect.Empty); mDatePicker.Mode = mode; mDatePicker.TimeZone = NSTimeZone.LocalTimeZone; mDatePicker.Calendar = NSCalendar.CurrentCalendar; mDatePicker.ValueChanged += OnValueChanged; }
public void CreateDatePicker() { datePickerView = new UIDatePicker (CGRect.Empty) { AutoresizingMask = UIViewAutoresizing.FlexibleWidth, Mode = UIDatePickerMode.Date, BackgroundColor = backgroundColor, Hidden = true }; datePickerView.Frame = PickerFrameWithSize (datePickerView.SizeThatFits (CGSize.Empty)); View.AddSubview (datePickerView); }
void ReleaseDesignerOutlets () { if (ButtonSchedule != null) { ButtonSchedule.Dispose (); ButtonSchedule = null; } if (DatePickerDate != null) { DatePickerDate.Dispose (); DatePickerDate = null; } }
protected override void Dispose (bool disposing) { base.Dispose (disposing); if (disposing){ fmt.Dispose (); fmt = null; if (datePicker != null){ datePicker.Dispose (); datePicker = null; } } }
public override void ViewDidLoad() { base.ViewDidLoad(); View.SetStyleClass("sample-background"); _datePicker = new UIDatePicker(); _datePicker.SetStyleId("sample-date"); View.AddSubview(_datePicker); }
//======================================================================================================================================== // PUBLIC METHODS //======================================================================================================================================== //======================================================================================================================================== // PRIVATE METHODS //======================================================================================================================================== private void initCell() { this._datePicker = new UIDatePicker (); this._datePicker.Mode = UIDatePickerMode.DateAndTime; this._datePicker.ValueChanged += (object sender, EventArgs e) => { DateUpdateArgs dua = new DateUpdateArgs(); Foundation.NSDateFormatter Dformatter = new Foundation.NSDateFormatter(); Dformatter.DateFormat = "MMM dd', 'YYYY' 'HH:mm"; dua.Date = Dformatter.ToString(this._datePicker.Date); this.didUpdateDatePicker(sender, dua); }; this.AddSubview (_datePicker); }
void DateChooser() { UIDatePicker datePicker = new UIDatePicker(); datePicker.ValueChanged += (object sender, EventArgs e) => { dateTimePicker1.Text = datePicker.Date.ToString(); }; dateTimePicker1.InputView = datePicker; dateTimePicker1.InputAccessoryView = datePickerDismissalView(datePicker,dateTimePicker1); return; }
void ReleaseDesignerOutlets () { if (btnSaveData2 != null) { btnSaveData2.Dispose (); btnSaveData2 = null; } if (DataController != null) { DataController.Dispose (); DataController = null; } if (DatePicker1 != null) { DatePicker1.Dispose (); DatePicker1 = null; } }
public UIDateField(RectangleF frame) : base(frame) { this.dateFormat = "D"; this.picker = new UIDatePicker(); this.picker.Mode = UIDatePickerMode.Date; this.picker.TimeZone = NSTimeZone.FromAbbreviation("GMT"); this.picker.ValueChanged += this.PickerValueChanged; this.label = new UILabel(this.Bounds); this.label.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleLeftMargin; this.label.BackgroundColor = UIColor.Clear; this.label.UserInteractionEnabled = false; this.AddSubview(this.label); this.Date = DateTime.Today; }
public override void ViewDidLoad() { base.ViewDidLoad(); var textView = new UITextField(new CGRect(10, 90, 300, 30)); Add(textView); var datePicker = new UIDatePicker(); datePicker.Mode = UIDatePickerMode.Date; textView.InputView = datePicker; var label = new UILabel(new CGRect(10, 120, 300, 30)); Add(label); var set = this.CreateBindingSet<DateTimeView, DateTimeViewModel>(); set.Bind(datePicker).To(vm => vm.Property); set.Bind(textView).To("Format('{0:dd MMM yyyy}', Property)"); set.Bind(label).To("Format('{0:dd MMM yyyy}', Property)"); set.Apply(); }
protected override UIViewController MakeViewController() { this.datePicker = new UIDatePicker(); this.datePicker.Mode = UIDatePickerMode.Date; this.datePicker.Date = (NSDate)DateTime.SpecifyKind(initialDate, DateTimeKind.Local); var pickerViewController = new UIViewController(); pickerViewController.Title = "Date"; pickerViewController.NavigationItem.LeftBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Cancel, (sender, e) => Cancel()); pickerViewController.NavigationItem.RightBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Done, (sender, e) => Done()); pickerViewController.View = this.datePicker; var navigationController = new UINavigationController(); navigationController.PreferredContentSize = this.datePicker.IntrinsicContentSize; navigationController.PushViewController(pickerViewController, animated: false); return navigationController; }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { window = new UIWindow (UIScreen.MainScreen.Bounds); var vc = new UIViewController (); dp = new UIDatePicker (); dp.Mode = UIDatePickerMode.Date; dp.Mode = UIDatePickerMode.DateAndTime; dp.Mode = UIDatePickerMode.Time; dp.ValueChanged += delegate { Console.WriteLine (dp.Date.ToString ()); }; vc.View.AddSubview (dp); window.AddSubview (vc.View); window.MakeKeyAndVisible (); return true; }
public override void UpdateCell(UITableViewCell cell, NSIndexPath indexPath) { base.UpdateCell(cell, indexPath); cell.Accessory = UITableViewCellAccessory.None; cell.TextLabel.Text = Caption; DatePicker = CreatePicker(); var view = new UIView(DatePicker.Bounds) { BackgroundColor = UIColor.Black }; view.AddSubview(DatePicker); Control = DatePicker; InputView.InputView = view; InputView.InputAccessoryView = new UIDatePickerToolbar(this) { }; if (cell.DetailTextLabel != null) cell.DetailTextLabel.Text = FormatDate(DatePicker.Date.ToDateTime()); }
public DatePickerPopover(UIView owner) { this.Owner = owner; this.datePicker = new UIDatePicker(); this.datePicker.Frame = new RectangleF(0, 44, 320, 216); var popoverContent = new UIViewController(); //ViewController var popoverView = new UIView { BackgroundColor = UIColor.Black }; //view popoverView.AddSubview(this.DatePicker); popoverContent.View = popoverView; popoverController = new UIPopoverController(popoverContent); popoverController.Delegate=this; popoverController.SetPopoverContentSize(new SizeF(320, 264), false); }
public override UIBarButtonItem[] CreateToolbarItems() { var caption = "Today"; _DatePicker = FocusableView.Control as UIDatePicker; if(_DatePicker != null) { if (_DatePicker.Mode == UIDatePickerMode.Time) caption = "Now"; } var baseButtons = base.CreateToolbarItems(); _TodayButton = new UIBarButtonItem(caption, UIBarButtonItemStyle.Bordered, Today); var buttonList = baseButtons.ToList(); buttonList.Insert(2, _TodayButton); return buttonList.ToArray(); }
public UIDateTextField(IntPtr handle) : base(handle) { datePicker = new UIDatePicker(); dateFormatter = new NSDateFormatter(); dateFormatter.DateStyle = NSDateFormatterStyle.Long; // Set up the date picker datePicker.Mode = UIDatePickerMode.Date; datePicker.MinimumDate = DateTime.Today.AddMonths (-2); datePicker.MaximumDate = DateTime.Today; datePicker.ValueChanged += (s, e) => { this.Text = dateFormatter.ToString((s as UIDatePicker).Date); this._currentDate = DateTime.SpecifyKind((s as UIDatePicker).Date, DateTimeKind.Unspecified); }; // Setup the dateToolbar UIToolbar dateToolbar = new UIToolbar(); dateToolbar.BarStyle = UIBarStyle.Black; dateToolbar.Translucent = true; dateToolbar.SizeToFit(); // Create a 'done' button for the dateToolbar UIBarButtonItem dateDoneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (s, e) => { this.ResignFirstResponder(); }); // Create flexible space UIBarButtonItem dateFlex = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace); // Add button and dateFlexible space to the dateToolbar dateToolbar.SetItems(new UIBarButtonItem[]{dateFlex, dateDoneButton}, true); this.InputView = datePicker; this.InputAccessoryView = dateToolbar; }
public ActionSheetDatePickerCustom (UIView owner) { picker = new UIDatePicker (CGRect.Empty); // save our uiview owner this._owner = owner; // create + configure the action sheet _actionSheet = new UIActionSheet () { Style = UIActionSheetStyle.BlackTranslucent }; _actionSheet.Clicked += (s, e) => { Console.WriteLine ("Clicked on item {0}", e.ButtonIndex); }; // configure the title label titleLabel = new UILabel (new CGRect (0, 0, _actionSheet.Frame.Width, 10)); titleLabel.BackgroundColor = UIColor.Clear; titleLabel.TextColor = UIColor.Black; titleLabel.Font = UIFont.BoldSystemFontOfSize (18); // Add the toolbar _toolbar = new UIToolbar (new CGRect (0, 0, _actionSheet.Frame.Width, 10)); _toolbar.BarStyle = UIBarStyle.Default; _toolbar.Translucent = true; // Add the done button _doneButton = new UIBarButtonItem ("Gereed", UIBarButtonItemStyle.Done, null); _toolbar.Items = new UIBarButtonItem[] { new UIBarButtonItem (UIBarButtonSystemItem.FlexibleSpace, null, null), _doneButton }; _toolbar.SizeToFit (); _actionSheet.AddSubview (picker); _actionSheet.Add (_toolbar); _actionSheet.AddSubview (titleLabel); }
public DatePickerView() { Frame=new RectangleF (0f, 0f, 100f*Device.screenWidthP,260f); toolbar = new UIToolbar(RectangleF.Empty); toolbar.BarStyle = UIBarStyle.Black; toolbar.Translucent = true; toolbar.UserInteractionEnabled = true; toolbar.SizeToFit(); cancelBtn = new UIBarButtonItem(UIBarButtonSystemItem.Cancel, delegate { if(cancelBtnClick!=null) { cancelBtnClick(this,EventArgs.Empty); } }); flexibleSpaceBtn = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null); doneBtn = new UIBarButtonItem(UIBarButtonSystemItem.Done, delegate { if(doneBtnClick!=null) { doneBtnClick(this,EventArgs.Empty); } }); itemsBtn = new UIBarButtonItem[] { cancelBtn, flexibleSpaceBtn, doneBtn }; toolbar.SetItems(itemsBtn, true); Add (toolbar); datePicker = new UIDatePicker(new RectangleF(0f,44f,100f*Device.screenWidthP,216f)); datePicker.Mode = UIDatePickerMode.Date; datePicker.MaximumDate = NSDate.Now; datePicker.TimeZone = NSTimeZone.LocalTimeZone; datePicker.UserInteractionEnabled = true; datePicker.BackgroundColor = UIColor.White; Add (datePicker); }
private async Task ShowDatePopup() { var dateTimeAlertController = new UIAlertController(); var datePicker = new UIDatePicker(); datePicker.Date = _selectedDate; datePicker.Mode = UIDatePickerMode.Date; datePicker.TranslatesAutoresizingMaskIntoConstraints = false; datePicker.MinimumDate = (NSDate)DateTime.Today.AddYears(-1); datePicker.MaximumDate = (NSDate)DateTime.Today.AddYears(1); var rootView = dateTimeAlertController.View; rootView.AddSubview(datePicker); rootView.AddConstraints(datePicker.WithSameTop(rootView), datePicker.AtBottomOf(rootView, 100f), datePicker.WithSameLeft(rootView), datePicker.WithSameRight(rootView)); dateTimeAlertController.AddAction(UIAlertAction.Create(ConstantsHelper.Ok, UIAlertActionStyle.Default, action => { _selectedDate = datePicker.Date; var dateFormatter = new NSDateFormatter { DateFormat = "dd/MM/yyyy" }; _currentDateField.Text = dateFormatter.StringFor(_selectedDate); var timeFormatter = new NSDateFormatter { DateFormat = "HH:mm" }; _currentTimeField.Text = timeFormatter.StringFor(_selectedDate); })); dateTimeAlertController.AddAction(UIAlertAction.Create(ConstantsHelper.Cancel, UIAlertActionStyle.Cancel, null)); await PresentViewControllerAsync(dateTimeAlertController, true); }
private protected override void OnLoaded() { base.OnLoaded(); _picker = this.FindSubviewsOfType <UIDatePicker>().FirstOrDefault(); if (_picker == null) { this.Log().DebugIfEnabled(() => $"No {nameof(UIDatePicker)} was found in the visual hierarchy."); return; } // The time zone must be the same as DatePickerSelector // otherwise, if a DatePicker and a TimePicker are present // with 2 different time zones, they will interfer one with the other // and result in weird behaviors (like decrementing the year when a month changes). _picker.TimeZone = NSTimeZone.LocalTimeZone; _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian); _picker.Mode = UIDatePickerMode.Time; if (UIDevice.CurrentDevice.CheckSystemVersion(14, 0)) { _picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels; } _picker.ValueChanged += OnValueChanged; var parent = _picker.FindFirstParent <FrameworkElement>(); //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view. if (parent != null) { parent.RemoveChild(_picker); parent.AddSubview(_picker); } }
EventHandler DatePickerPopUp(UIButton btnLabel) { return((sender, e) => { var swithView = new UIDatePicker { Mode = UIDatePickerMode.Date, Frame = new CGRect(10, 5, 250, 160) }; var alert = UIAlertController.Create("\n\n\n", "\n\n\n", UIAlertControllerStyle.Alert); alert.Add(swithView); alert.AddAction(UIAlertAction.Create("Cancelar", UIAlertActionStyle.Cancel, (actionCancel) => { MetricsManager.TrackEvent("CancelDatePicker"); })); alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, (actionOK) => { var date = (DateTime)swithView.Date; btnLabel.SetTitle(date.ToString("d"), UIControlState.Normal); })); alert.View.TintColor = UIColor.FromRGB(10, 88, 90); UiView.PresentViewController(alert, true, null); }); }
public UIViewDatePicker(UIView owner) { // save our uiview owner this.owner = owner; DatePicker = new UIDatePicker(); titleLabel = new UILabel { BackgroundColor = UIColor.Clear, TextColor = UIColor.LightTextColor, Font = UIFont.BoldSystemFontOfSize(18), }; doneButton = UIButton.FromType(UIButtonType.RoundedRect); doneButton.SetTitle("done", UIControlState.Normal); doneButton.TouchUpInside += (sender, e) => { Hide(true); }; datePickerView = new UIView { DatePicker, titleLabel, doneButton }; }
protected override void Dispose(bool disposing) { #if false if (timePicker != null) { timePicker.Dispose(); timePicker = null; } if (editTime != null) { editTime.Dispose(); editTime = null; } #endif if (cancel != null) { cancel.Dispose(); cancel = null; } if (done != null) { done.Dispose(); done = null; } if (picker != null) { picker.Dispose(); picker = null; } base.Dispose(disposing); }
public DatePickerController(DateTime date) { Title = "Pick a Date"; View = picker = new UIDatePicker(new RectangleF(PointF.Empty, DatePickerSize)) { AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight, Mode = UIDatePickerMode.Date, Date = date, }; cancel = new UIBarButtonItem(UIBarButtonSystemItem.Cancel); NavigationItem.LeftBarButtonItem = cancel; cancel.Clicked += (sender, e) => { Popover.Dismiss(true); }; //editTime = new UIBarButtonItem ("Time", UIBarButtonItemStyle.Plain, OnEditClicked); //NavigationItem.RightBarButtonItem = editTime; done = new UIBarButtonItem(UIBarButtonSystemItem.Done); NavigationItem.RightBarButtonItem = done; done.Clicked += OnDoneClicked; }
public UIViewDatePicker (UIView owner) { // save our uiview owner this.owner = owner; DatePicker = new UIDatePicker (); titleLabel = new UILabel { BackgroundColor = UIColor.Clear, TextColor = UIColor.LightTextColor, Font = UIFont.BoldSystemFontOfSize (18), }; doneButton = UIButton.FromType (UIButtonType.RoundedRect); doneButton.SetTitle ("done", UIControlState.Normal); doneButton.TouchUpInside += (sender, e) => { Hide (true); }; datePickerView = new UIView { DatePicker, titleLabel, doneButton }; }
private protected override void OnLoaded() { base.OnLoaded(); _picker = this.FindSubviewsOfType <UIDatePicker>().FirstOrDefault(); if (_picker == null) { this.Log().DebugIfEnabled(() => $"No {nameof(UIDatePicker)} was found in the visual hierarchy."); return; } // The time zone must be the same as DatePickerSelector // otherwise, if a DatePicker and a TimePicker are present // with 2 different time zones, they will interfer one with the other // and result in weird behaviors (like decrementing the year when a month changes). _picker.TimeZone = NSTimeZone.LocalTimeZone; _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian); _picker.Mode = UIDatePickerMode.Time; UpdatePickerStyle(); SetPickerTime(Time.RoundToNextMinuteInterval(MinuteIncrement)); SetPickerClockIdentifier(ClockIdentifier); SaveInitialTime(); _picker.ValueChanged += OnValueChanged; _picker.EditingDidBegin += OnEditingDidBegin; var parent = _picker.FindFirstParent <FrameworkElement>(); //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view. if (parent != null) { parent.RemoveChild(_picker); parent.AddSubview(_picker); } }
private protected override void OnLoaded() { base.OnLoaded(); _picker = this.FindSubviewsOfType <UIDatePicker>().FirstOrDefault(); if (_picker == null) { if (this.Log().IsEnabled(LogLevel.Error)) { this.Log().Error($"No {nameof(UIDatePicker)} was found in the visual hierarchy."); } return; } _picker.Mode = UIDatePickerMode.Date; _picker.TimeZone = NSTimeZone.LocalTimeZone; _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian); UpdatePickerStyle(); UpdatePickerValue(Date, animated: false); _picker.ValueChanged += OnPickerValueChanged; //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view. var parent = _picker.FindFirstParent <FrameworkElement>(); if (parent != null) { parent.RemoveChild(_picker); parent.AddSubview(_picker); } UpdateMinMaxYears(); }
public void Include(UIDatePicker date) { date.Date = date.Date.AddSeconds(1); date.ValueChanged += (sender, args) => { date.Date = new Foundation.NSDate(); }; }
private void BuildSections() { var headerLabel = new UILabel (new RectangleF (10, 10, 370, 40)) { Font = UIFont.BoldSystemFontOfSize (20), BackgroundColor = ColorHelper.GetGPPurple (), TextAlignment = UITextAlignment.Center, TextColor = UIColor.White, Text = "Post Note" }; var view = new UIViewBordered (); view.Frame = new RectangleF (10, 10, 370, 40); view.Add (headerLabel); var topSection = new Section (view); Root.Add (topSection); string name = ""; if (matter != null) { name = matter.matterName; } var sec = new Section (name); // addBusySection (); var tarSec = new Section (); if (tariffList != null && tariffList.Count > 0) { btnTar = new StyledStringElement ("Select Activity Code"); btnTar.TextColor = ColorHelper.GetGPLightPurple (); btnTar.Alignment = UITextAlignment.Center; btnTar.Accessory = UITableViewCellAccessory.DisclosureIndicator; btnTar.Tapped += delegate { if (tariffList == null) { } else { string[] btns = new string[tariffList.Count]; for (int i = 0; i < tariffList.Count; i++) { btns [i] = tariffList [i].name; } actionSheet = new UIActionSheet ("Activity Codes", null, "Cancel", null, btns) { Style = UIActionSheetStyle.Default }; actionSheet.Clicked += delegate (object sender, UIButtonEventArgs args) { if (args.ButtonIndex == tariffList.Count) { //ignored - cancelled } else { narration.Value = tariffList [args.ButtonIndex].narration; selectedTariff = tariffList [args.ButtonIndex]; BuildInterface (); } }; actionSheet.ShowInView (View); } }; tarSec.Add (btnTar); } // var narrSec = new Section ("Note Narration"); if (selectedTariff == null) { narration = new EntryElement ("Narration", "Narration", null); } else { narrSec = new Section (selectedTariff.name); narration = new EntryElement ("Narration", "Narration", selectedTariff.narration); } narration.KeyboardType = UIKeyboardType.Default; narrSec.Add (narration); // picker = new UIDatePicker (); //picker.Frame = new RectangleF (10f, 10f, 320f, 320f); picker.Mode = UIDatePickerMode.Date; picker.Date = DateTime.Now; var pickerSection = new Section (picker); Root.Add (sec); Root.Add (tarSec); Root.Add (narrSec); Root.Add (pickerSection); BuildButtons (); }
public virtual UIDatePicker CreatePicker() { var picker = new UIDatePicker(RectangleF.Empty) { AutoresizingMask = UIViewAutoresizing.FlexibleWidth, Mode = UIDatePickerMode.DateAndTime, Date = DateValue }; picker.ValueChanged += (sender, args) => { var dp = sender as UIDatePicker; if (dp.Date != DateValue) DateValue = dp.Date; }; return picker; }
public void Include(UIDatePicker date) { date.Date = date.Date.AddSeconds(1); date.ValueChanged += (sender, args) => { date.Date = DateTime.MaxValue; }; }
/// <summary> /// Called when [element changed]. /// </summary> /// <param name="e">The e.</param> protected override void OnElementChanged(ElementChangedEventArgs <ExtendedTimePicker> e) { base.OnElementChanged(e); if (e.OldElement != null) { // todo: handle this scenario properly } if (e.NewElement != null) { if (Control == null) { var entry = new NoCaretField { BorderStyle = UITextBorderStyle.RoundedRect }; entry.Started += this.OnStarted; entry.Ended += this.OnEnded; this._picker = new UIDatePicker { Mode = UIDatePickerMode.Time, TimeZone = new NSTimeZone("CST") }; nfloat width = UIScreen.MainScreen.Bounds.Width; var uIToolbar = new UIToolbar(new CGRect(0, 0, width, 44)) { BarStyle = UIBarStyle.Default, Translucent = true }; var uIBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace); var uIBarButtonItem2 = new UIBarButtonItem( UIBarButtonSystemItem.Done, delegate { entry.ResignFirstResponder(); }); uIToolbar.SetItems(new[] { uIBarButtonItem, uIBarButtonItem2 }, false); if (Device.Idiom == TargetIdiom.Phone) { entry.InputView = this._picker; entry.InputAccessoryView = uIToolbar; } else { entry.InputView = new UIView(CGRect.Empty); entry.InputAccessoryView = new UIView(CGRect.Empty); } this._picker.ValueChanged += this.HandleValueChanged; SetNativeControl(entry); } } UpdateTime(); SetBorder(); UpdateTimeConstraints(); }
public override void ViewDidLoad() { base.ViewDidLoad(); //Starting off by initilizing all of the components of the view. var stackView = new UIStackView { Axis = UILayoutConstraintAxis.Vertical, Alignment = UIStackViewAlignment.Fill, Distribution = UIStackViewDistribution.EqualSpacing, Spacing = 25, TranslatesAutoresizingMaskIntoConstraints = false }; var scrollView = new UIScrollView(new CGRect(0, 0, View.Frame.Width, View.Frame.Height)); var NameField = new UITextField { Frame = new CGRect(25, 20, 35, 15), Placeholder = "Event Name" }; var AddressField = new UITextField { Frame = new CGRect(25, 30, 35, 15), Placeholder = "Address" }; var CityFiled = new UITextField { Frame = new CGRect(25, 40, 35, 15), Placeholder = "City" }; var StateField = new UITextField { Frame = new CGRect(25, 30, 35, 15), Placeholder = "State" }; var CountryField = new UITextField { Frame = new CGRect(25, 30, 35, 15), Placeholder = "Country" }; var ZipField = new UITextField { Frame = new CGRect(25, 50, 35, 15), Placeholder = "ZipCode" }; var DescField = new UITextField { Frame = new CGRect(25, 50, 35, 15), Placeholder = "Event Description" }; var SubmitButton = new UIButton(UIButtonType.System) { Frame = new CGRect(25, 90, 300, 30) }; var GetImage = new UIButton(UIButtonType.System) { Frame = new CGRect(25, 60, 300, 30) }; var StateLabel = new UILabel() { Text = "Press the button to choose between Public or Private.", TextAlignment = UITextAlignment.Center }; var isPublicButton = new UIButton(UIButtonType.System) { Frame = new CGRect(25, 90, 300, 30) }; UIDatePicker DatePicker = new UIDatePicker(new CGRect( UIScreen.MainScreen.Bounds.X - UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height - 230, UIScreen.MainScreen.Bounds.Width, 180)); var calendar = new NSCalendar(NSCalendarType.Gregorian); calendar.TimeZone = NSTimeZone.LocalTimeZone; var currentDate = NSDate.Now; var components = new NSDateComponents(); components.Year = -60; NSDate minDate = calendar.DateByAddingComponents(components, NSDate.Now, NSCalendarOptions.None); DatePicker.MinimumDate = currentDate; DatePicker.Mode = UIDatePickerMode.DateAndTime; SubmitButton.SetTitle("Submit Event", UIControlState.Normal); GetImage.SetTitle("Pick An Image", UIControlState.Normal); isPublicButton.SetTitle("Private Event", UIControlState.Normal); //Start putting the components together to build the view. stackView.AddArrangedSubview(NameField); stackView.AddArrangedSubview(AddressField); stackView.AddArrangedSubview(CityFiled); stackView.AddArrangedSubview(StateField); stackView.AddArrangedSubview(CountryField); stackView.AddArrangedSubview(ZipField); stackView.AddArrangedSubview(DescField); stackView.AddArrangedSubview(DatePicker); stackView.AddArrangedSubview(StateLabel); stackView.AddArrangedSubview(isPublicButton); stackView.AddArrangedSubview(GetImage); stackView.AddArrangedSubview(SubmitButton); scrollView.AddSubview(stackView); View.Add(scrollView); //Finializing the layout. scrollView.ContentSize = stackView.Frame.Size; scrollView.AddConstraint(stackView.TopAnchor.ConstraintEqualTo(scrollView.TopAnchor)); scrollView.AddConstraint(stackView.BottomAnchor.ConstraintEqualTo(scrollView.BottomAnchor)); scrollView.AddConstraint(stackView.LeftAnchor.ConstraintEqualTo(scrollView.LeftAnchor)); scrollView.AddConstraint(stackView.RightAnchor.ConstraintEqualTo(scrollView.RightAnchor)); View.AddConstraint(scrollView.TopAnchor.ConstraintEqualTo(View.TopAnchor)); View.AddConstraint(scrollView.BottomAnchor.ConstraintEqualTo(View.BottomAnchor)); View.AddConstraint(scrollView.LeftAnchor.ConstraintEqualTo(View.LeftAnchor)); View.AddConstraint(scrollView.RightAnchor.ConstraintEqualTo(View.RightAnchor)); View.BackgroundColor = UIColor.White; var g = new UITapGestureRecognizer(() => View.EndEditing(true)); View.AddGestureRecognizer(g); //Button function #1: submitting the event and presenting the submission to the user. SubmitButton.TouchUpInside += async(object sender, EventArgs e) => { //Populate the Event model. userEvent.Address = AddressField.Text; userEvent.EventName = NameField.Text; userEvent.City = CityFiled.Text; userEvent.State = StateField.Text; userEvent.Country = CountryField.Text; userEvent.ZipCode = int.Parse(ZipField.Text); DateTime.SpecifyKind((DateTime)DatePicker.Date, DateTimeKind.Utc).ToLocalTime(); userEvent.DateOfEvent = (DateTime)DatePicker.Date; userEvent.isPublic = isPublic; var geoCoder = new CLGeocoder(); var location = new CLLocation(); string worldAddress = userEvent.Address + ", " + userEvent.City + ", " + userEvent.State + ", " + userEvent.Country + ", " + userEvent.ZipCode.ToString(); var placemarks = geoCoder.GeocodeAddressAsync(worldAddress); await placemarks.ContinueWith((addresses) => { foreach (var address in addresses.Result) { location = address.Location; } }); userEvent.Lat = location.Coordinate.Latitude; userEvent.Long = location.Coordinate.Longitude; userEvent.Description = DescField.Text; EventService ES = new EventService(_client); if (userImage != null) { Event EventLocation = await ES.CreateNewEvent(userEvent, userImage); var ShowEvent = new SubmittedEvent(EventLocation, _client, _locationmanager); this.NavigationController.PopViewController(true); this.NavigationController.PushViewController(ShowEvent, true); } else { Event EventLocation = await ES.CreateNewEvent(userEvent); var ShowEvent = new SubmittedEvent(EventLocation, _client, _locationmanager); this.NavigationController.PopViewController(true); this.NavigationController.PushViewController(ShowEvent, true); } }; //Button function #2: opening Image Picker GetImage.TouchUpInside += (object sender, EventArgs e) => { ShowSelectPicPopup(); }; //Button function #3: Public/Private toggle function isPublicButton.TouchUpInside += (object sender, EventArgs e) => { if (isPublic == false) { isPublic = true; isPublicButton.SetTitle("Public Event", UIControlState.Normal); } else { isPublic = false; isPublicButton.SetTitle("Private Event", UIControlState.Normal); } }; }
private protected override void OnUnloaded() { base.OnUnloaded(); _picker.ValueChanged -= OnPickerValueChanged; _picker = null; }
partial void QueryDatePicker_ValueChanged(UIDatePicker sender) { ClearLabels(); }
public override void ViewDidLoad() { base.ViewDidLoad(); this.ModalPresentationStyle = UIModalPresentationStyle.Custom; this.TransitioningDelegate = this; this.View.BackgroundColor = UIColor.Clear; // Date Picker var datePicker = new UIDatePicker { TranslatesAutoresizingMaskIntoConstraints = false, Date = this.SelectedDateTime.ToNSDate(), BackgroundColor = BackgroundColor, Mode = Mode, MinuteInterval = MinuteInterval }; if (MinimumDateTime != null) { datePicker.MinimumDate = MinimumDateTime.Value.ToNSDate(); } if (MaximumDateTime != null) { datePicker.MaximumDate = MaximumDateTime.Value.ToNSDate(); } dimmedView = new UIView(this.View.Bounds) { AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight, TintAdjustmentMode = UIViewTintAdjustmentMode.Dimmed, BackgroundColor = UIColor.Black }; var dismissButton = new UIButton { TranslatesAutoresizingMaskIntoConstraints = false, UserInteractionEnabled = true }; dismissButton.TouchUpInside += (s, e) => { Cancel?.Invoke(this); }; this.View.AddSubview(dismissButton); var containerView = new UIView { ClipsToBounds = true, BackgroundColor = UIColor.White, TranslatesAutoresizingMaskIntoConstraints = false }; containerView.Layer.CornerRadius = 5.0f; this.View.AddSubview(containerView); containerView.AddSubview(datePicker); var buttonContainerView = new UIView { TranslatesAutoresizingMaskIntoConstraints = false, BackgroundColor = UIColor.White }; buttonContainerView.Layer.CornerRadius = 5.0f; this.View.AddSubview(buttonContainerView); var buttonDividerView = new UIView { TranslatesAutoresizingMaskIntoConstraints = false, BackgroundColor = UIColor.FromRGBA(205 / 255, 205 / 255, 205 / 255, 1) }; this.View.AddSubview(buttonDividerView); var cancelButton = new UIButton(); cancelButton.TranslatesAutoresizingMaskIntoConstraints = false; cancelButton.SetTitle(CancelText, UIControlState.Normal); cancelButton.SetTitleColor(UIColor.Red, UIControlState.Normal); cancelButton.TitleLabel.Font = UIFont.SystemFontOfSize(FontSize); cancelButton.TouchUpInside += (s, e) => { Cancel?.Invoke(this); }; buttonContainerView.AddSubview(cancelButton); var button = new UIButton(UIButtonType.System); button.TranslatesAutoresizingMaskIntoConstraints = false; button.TitleLabel.Font = UIFont.BoldSystemFontOfSize(FontSize); button.SetTitle(this.OkText, UIControlState.Normal); button.TouchUpInside += (s, e) => { Ok?.Invoke(this); }; buttonContainerView.AddSubview(button); var views = NSDictionary.FromObjectsAndKeys( new NSObject[] { dismissButton, containerView, datePicker, buttonContainerView, buttonDividerView, cancelButton, button }, new NSObject[] { new NSString("DismissButton"), new NSString("DatePickerContainerView"), new NSString("datePicker"), new NSString("ButtonContainerView"), new NSString("ButtonDividerView"), new NSString("CancelButton"), new NSString("SelectButton") } ); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[CancelButton][ButtonDividerView(0.5)][SelectButton(CancelButton)]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[CancelButton]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[ButtonDividerView]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[SelectButton]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[datePicker]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[datePicker]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[DismissButton]|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|-5-[DatePickerContainerView]-5-|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|-5-[ButtonContainerView]-5-|", 0, null, views)); this.View.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[DismissButton][DatePickerContainerView]-10-[ButtonContainerView(40)]-5-|", 0, null, views)); }
/// <summary> /// Includes the specified uiDatePicker. /// </summary> /// <param name="uiDatePicker">The uiDatePicker.</param> public void Include(UIDatePicker uiDatePicker) { uiDatePicker.Date = uiDatePicker.Date.AddSeconds(1); uiDatePicker.ValueChanged += (sender, args) => { uiDatePicker.Date = NSDate.DistantFuture; }; }
public override void LoadView() { var scrollView = new UIScrollView().Apply(Style.Screen); scrollView.Add(wrapper = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false, }); wrapper.Add(startStopView = new StartStopView() { TranslatesAutoresizingMaskIntoConstraints = false, StartTime = model.StartTime, StopTime = model.StopTime, }.Apply(BindStartStopView)); startStopView.SelectedChanged += OnStartStopViewSelectedChanged; wrapper.Add(datePicker = new UIDatePicker() { TranslatesAutoresizingMaskIntoConstraints = false, Hidden = DatePickerHidden, Alpha = 0, }.Apply(Style.EditTimeEntry.DatePicker).Apply(BindDatePicker)); datePicker.ValueChanged += OnDatePickerValueChanged; wrapper.Add(projectButton = new ProjectClientTaskButton() { TranslatesAutoresizingMaskIntoConstraints = false, }.Apply(BindProjectButton)); projectButton.TouchUpInside += OnProjectButtonTouchUpInside; wrapper.Add(descriptionTextField = new TextField() { TranslatesAutoresizingMaskIntoConstraints = false, AttributedPlaceholder = new NSAttributedString( "EditEntryDesciptionTimerHint".Tr(), foregroundColor: Color.Gray ), ShouldReturn = (tf) => tf.ResignFirstResponder(), }.Apply(Style.EditTimeEntry.DescriptionField).Apply(BindDescriptionField)); descriptionTextField.EditingChanged += OnDescriptionFieldEditingChanged; descriptionTextField.EditingDidEnd += (s, e) => CommitDescriptionChanges(); wrapper.Add(tagsButton = new UIButton() { TranslatesAutoresizingMaskIntoConstraints = false, }.Apply(Style.EditTimeEntry.TagsButton).Apply(BindTagsButton)); tagsButton.TouchUpInside += OnTagsButtonTouchUpInside; wrapper.Add(billableSwitch = new LabelSwitchView() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "EditEntryBillable".Tr(), }.Apply(Style.EditTimeEntry.BillableContainer).Apply(BindBillableSwitch)); billableSwitch.Label.Apply(Style.EditTimeEntry.BillableLabel); billableSwitch.Switch.ValueChanged += OnBillableSwitchValueChanged; wrapper.Add(deleteButton = new UIButton() { TranslatesAutoresizingMaskIntoConstraints = false, }.Apply(Style.EditTimeEntry.DeleteButton)); deleteButton.SetTitle("EditEntryDelete".Tr(), UIControlState.Normal); deleteButton.TouchUpInside += OnDeleteButtonTouchUpInside; wrapper.AddConstraints(VerticalLinearLayout(wrapper)); scrollView.AddConstraints( wrapper.AtTopOf(scrollView), wrapper.AtBottomOf(scrollView), wrapper.AtLeftOf(scrollView), wrapper.AtRightOf(scrollView), wrapper.WithSameWidth(scrollView), wrapper.Height().GreaterThanOrEqualTo().HeightOf(scrollView).Minus(64f), null ); View = scrollView; }
public static void UpdateFormat(this UIDatePicker picker, IDatePicker datePicker) { picker.UpdateDate(datePicker); }
protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e) { base.OnElementChanged(e); if (e.NewElement == null) { return; } if (Control == null) { var entry = CreateNativeControl(); entry.EditingDidBegin += OnStarted; entry.EditingDidEnd += OnEnded; _picker = new UIDatePicker { Mode = UIDatePickerMode.Date, TimeZone = new NSTimeZone("UTC") }; if (Forms.IsiOS14OrNewer) { _picker.PreferredDatePickerStyle = UIKit.UIDatePickerStyle.Wheels; } _picker.ValueChanged += HandleValueChanged; var width = UIScreen.MainScreen.Bounds.Width; var toolbar = new UIToolbar(new RectangleF(0, 0, width, 44)) { BarStyle = UIBarStyle.Default, Translucent = true }; var spacer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace); var doneButton = new UIBarButtonItem(UIBarButtonSystemItem.Done, (o, a) => { UpdateElementDate(); entry.ResignFirstResponder(); }); toolbar.SetItems(new[] { spacer, doneButton }, false); entry.InputView = _picker; entry.InputAccessoryView = toolbar; entry.InputView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight; entry.InputAccessoryView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight; entry.InputAssistantItem.LeadingBarButtonGroups = null; entry.InputAssistantItem.TrailingBarButtonGroups = null; _defaultTextColor = entry.TextColor; _useLegacyColorManagement = e.NewElement.UseLegacyColorManagement(); entry.AccessibilityTraits = UIAccessibilityTrait.Button; SetNativeControl(entry); } UpdateDateFromModel(false); UpdateFont(); UpdateMaximumDate(); UpdateMinimumDate(); UpdateTextColor(); UpdateCharacterSpacing(); UpdateFlowDirection(); }
public override void ViewDidLoad() { base.ViewDidLoad(); var bindingSet = this.CreateBindingSet <AddSessionView, AddSessionViewModel>(); bindingSet = BindLoader(bindingSet); var sessionDateTextField = new TFloatingPicker(new CGRect()) { Placeholder = "When?" }; this.View.Add(sessionDateTextField); bindingSet.Bind(sessionDateTextField).To("Format('{0:d MMM yyyy}', SessionDate)").Apply(); bindingSet.Bind(sessionDateTextField).For("ValidationError").To(vm => vm.ValidationErrors[nameof(AddSessionViewModel.SessionDate)]).Apply(); /* picker */ /* ******************************************************* */ var sessionDatePicker = new UIDatePicker(); sessionDatePicker.Mode = UIDatePickerMode.Date; var sessionDateToolbar = new UIToolbar(new CGRect(0.0f, 0.0f, sessionDatePicker.Frame.Size.Width, 44.0f)); sessionDateTextField.InputAccessoryView = sessionDateToolbar; sessionDateTextField.InputView = sessionDatePicker; sessionDateToolbar.Items = new[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), new UIBarButtonItem(UIBarButtonSystemItem.Done, delegate { sessionDateTextField.ResignFirstResponder(); }) }; bindingSet.Bind(sessionDatePicker).To(vm => vm.SessionDate).Apply(); /* ******************************************************* */ var gameTextField = new TFloatingTextField(new CGRect()) { Placeholder = "What?", Editable = false }; this.View.Add(gameTextField); bindingSet.Bind(gameTextField).To(vm => vm.SelectedGame).Apply(); bindingSet.Bind(gameTextField).For("ValidationError").To(vm => vm.ValidationErrors[nameof(AddSessionViewModel.SelectedGame)]).Apply(); /* picker */ /* ******************************************************* */ var gamePicker = new UIPickerView(); var gamePickerViewModel = new MvxPickerViewModel(gamePicker); gamePicker.Model = gamePickerViewModel; var gamePickerToolbar = new UIToolbar(new CGRect(0.0f, 0.0f, gamePicker.Frame.Size.Width, 44.0f)); gameTextField.InputAccessoryView = gamePickerToolbar; gameTextField.InputView = gamePicker; gamePickerToolbar.Items = new[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), new UIBarButtonItem(UIBarButtonSystemItem.Done, delegate { gameTextField.ResignFirstResponder(); }) }; bindingSet.Bind(gamePickerViewModel).For(p => p.SelectedItem).To(vm => vm.SelectedGame).Apply(); bindingSet.Bind(gamePickerViewModel).For(p => p.ItemsSource).To(vm => vm.GamesCollection).Apply(); /* ******************************************************* */ var whereTextField = new TFloatingTextField(new CGRect()) { Placeholder = "Where?" }; this.View.Add(whereTextField); bindingSet.Bind(whereTextField).To(vm => vm.Venue).Apply(); bindingSet.Bind(whereTextField).For("ValidationError").To(vm => vm.ValidationErrors[nameof(AddSessionViewModel.Venue)]).Apply(); var playerListing = new TTableView { AllowsSelection = false }; this.View.Add(playerListing); var tableSource = new PlayerTableSource(playerListing); bindingSet.Bind(tableSource).To(vm => vm.PlayerCollection).Apply(); var saveButton = new TButtonView("Save"); this.View.Add(saveButton); bindingSet.Bind(saveButton).To(vm => vm.SaveCommand).Apply(); var gradientTopView = new TGradientView(ColorPalette.Carnelian, ColorPalette.Carnelian.ColorWithAlpha(0)); this.View.Add(gradientTopView); var gradientBottomView = new TGradientView(ColorPalette.Carnelian.ColorWithAlpha(0), ColorPalette.Carnelian); this.View.Add(gradientBottomView); this.View.AddConstraints(new FluentLayout[] { sessionDateTextField.AtTopOf(this.View, Constants.MARGIN), sessionDateTextField.AtLeftOf(this.View, Constants.MARGIN), sessionDateTextField.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), gameTextField.Below(sessionDateTextField, Constants.MARGIN), gameTextField.AtLeftOf(this.View, Constants.MARGIN), gameTextField.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), whereTextField.Below(gameTextField, Constants.MARGIN), whereTextField.AtLeftOf(this.View, Constants.MARGIN), whereTextField.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), playerListing.Below(whereTextField, Constants.MARGIN), playerListing.AtLeftOf(this.View, Constants.MARGIN), playerListing.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), playerListing.Above(saveButton, Constants.MARGIN), saveButton.AtBottomOf(this.View, Constants.MARGIN), saveButton.Height().EqualTo(Constants.BUTTON_HEIGHT), saveButton.AtLeftOf(this.View, Constants.MARGIN), saveButton.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), gradientTopView.Below(whereTextField, Constants.MARGIN), gradientTopView.AtLeftOf(this.View, Constants.MARGIN), gradientTopView.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), gradientTopView.Height().EqualTo(10f), gradientBottomView.Above(saveButton, Constants.MARGIN), gradientBottomView.AtLeftOf(this.View, Constants.MARGIN), gradientBottomView.WithSameWidth(this.View).Minus(Constants.MARGIN * 2), gradientBottomView.Height().EqualTo(10f), }); playerListing.Source = tableSource; playerListing.ReloadData(); }
private Task <IDialogAnswer <DateTime> > ShowDateTimeDialog(string caption, UIDatePickerMode mode, DateTime current, IDialogButton positive, IDialogButton negative) { var tcs = new TaskCompletionSource <IDialogAnswer <DateTime> >(); var version = new Version(UIDevice.CurrentDevice.SystemVersion); if (version.Major >= 7) { var picker = new DatePicker(); picker.Title = caption; picker.NativeDatePicker.Mode = mode; picker.NativeDatePicker.Date = current; picker.DoneTitle = positive.Caption; picker.CancelTitle = negative.Caption; picker.Click += (sender, e) => { if (tcs.Task.Status < TaskStatus.RanToCompletion) { NSDate dateTime = (sender as DatePicker).NativeDatePicker.Date; DateTime result = dateTime != null ? System.DateTime.SpecifyKind(dateTime, DateTimeKind.Utc).ToLocalTime() : System.DateTime.MinValue; if (e.ButtonIndex == 0) { tcs.SetResult(new DialogAnswer <DateTime>(true, result)); } else if (e.ButtonIndex == 1) { tcs.SetResult(new DialogAnswer <DateTime>(false, result)); } } }; picker.Show(_context.MainController.View, (ScreenController)_context.MainController.VisibleViewController); } else { var alertView = new UIAlertView(caption, "", null, positive.Caption, negative.Caption); alertView.Show(); _alertViews.Add(alertView); var datePicker = new UIDatePicker(); datePicker.Frame = new RectangleF(10, alertView.Bounds.Size.Height, 270, 150); datePicker.Mode = UIDatePickerMode.Date; datePicker.Date = current; alertView.AddSubview(datePicker); var timePicker = new UIDatePicker(); timePicker.Frame = new RectangleF(10, alertView.Bounds.Size.Height + 150 + 20, 270, 150); timePicker.Mode = UIDatePickerMode.Time; timePicker.Date = current; alertView.AddSubview(timePicker); alertView.Clicked += (sender, e) => { DateTime date = System.DateTime.SpecifyKind(datePicker.Date, DateTimeKind.Unspecified); DateTime time = System.DateTime.SpecifyKind(timePicker.Date, DateTimeKind.Utc).ToLocalTime(); var result = new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second); if (e.ButtonIndex == 0) { tcs.SetResult(new DialogAnswer <DateTime>(true, result)); } else if (e.ButtonIndex == 1) { tcs.SetResult(new DialogAnswer <DateTime>(false, result)); } var av = (UIAlertView)sender; _alertViews.Remove(av); av.Dispose(); }; alertView.Bounds = new RectangleF(0, 0, 290, alertView.Bounds.Size.Height + 150 + 150 + 20 + 30); } return(tcs.Task); }
public static string BindTime(this UIDatePicker uiDatePicker) => MvxIosPropertyBinding.UIDatePicker_Time;
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv) { var cell = base.GetCell(item, reusableCell, tv); var datepickerCell = (DatePickerEntryCell)item; UITextField textField = null; if (cell != null) { textField = (UITextField)cell.ContentView.Subviews[0]; } // Default datepicker display attributes var mode = UIDatePickerMode.Date; var displayFormat = "d"; var date = NSDate.Now; var isLocalTime = false; // Update datepicker based on Cell's properties if (datepickerCell != null) { // Kind must be Universal or Local to cast to NSDate if (datepickerCell.Date.Kind == DateTimeKind.Unspecified) { var local = new DateTime(datepickerCell.Date.Ticks, DateTimeKind.Local); date = (NSDate)local; } else { date = (NSDate)datepickerCell.Date; } isLocalTime = datepickerCell.Date.Kind == DateTimeKind.Local || datepickerCell.Date.Kind == DateTimeKind.Unspecified; } // Create iOS datepicker var datepicker = new UIDatePicker { Mode = mode, BackgroundColor = UIColor.White, Date = date, TimeZone = isLocalTime ? NSTimeZone.LocalTimeZone : new NSTimeZone("UTC") }; // Create a toolbar with a done button that will // close the datepicker and set the selected value var done = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (s, e) => { var pickedDate = (DateTime)datepicker.Date; if (isLocalTime) { pickedDate = pickedDate.ToLocalTime(); } // Update the value of the UITextField within the Cell if (textField != null) { textField.Text = pickedDate.ToString(displayFormat); textField.ResignFirstResponder(); } // Update the Date property on the Cell if (datepickerCell != null) { datepickerCell.Date = pickedDate; datepickerCell.SendCompleted(); } }); var toolbar = new UIToolbar { BarStyle = UIBarStyle.Default, Translucent = false }; toolbar.SizeToFit(); toolbar.SetItems(new[] { done }, true); // Set the input view, toolbar and // initial value for the Cell's UITextField if (textField != null) { textField.InputView = datepicker; textField.InputAccessoryView = toolbar; if (datepickerCell != null) { textField.Text = datepickerCell .Date.ToString(displayFormat); } } return(cell); }
protected override void OnUnloaded() { base.OnUnloaded(); _dateChangedSubscription.Disposable = null; _picker = null; }
public void Include(UIDatePicker date) { date.Date = date.Date.AddSeconds(1); }
/* Creates the container view here: create the dialog, then add the custom content and buttons */ private UIView createContainerView() { var screenSize = CountScreenSize(); var dialogSize = new CGSize( 300, 230 + kDatePickerDialogDefaultButtonHeight + kDatePickerDialogDefaultButtonSpacerHeight); // For the black background Frame = new CGRect(0, 0, screenSize.Width, screenSize.Height); // This is the dialog's container; we attach the custom content and the buttons to this one var dialogContainer = new UIView(new CGRect((screenSize.Width - dialogSize.Width) / 2, (screenSize.Height - dialogSize.Height) / 2, dialogSize.Width, dialogSize.Height)); // First, we style the dialog to match the iOS8 UIAlertView >>> var gradient = new CAGradientLayer(); gradient.Frame = dialogContainer.Bounds; gradient.Colors = new[] { UIColor.FromRGB(218, 218, 218).CGColor, UIColor.FromRGB(233, 233, 233).CGColor, UIColor.FromRGB(218, 218, 218).CGColor }; var cornerRadius = kDatePickerDialogCornerRadius; gradient.CornerRadius = cornerRadius; dialogContainer.Layer.InsertSublayer(gradient, 0); dialogContainer.Layer.CornerRadius = cornerRadius; dialogContainer.Layer.BorderColor = UIColor.FromRGB(198, 198, 198).CGColor; dialogContainer.Layer.BorderWidth = 1; dialogContainer.Layer.ShadowRadius = cornerRadius + 5; dialogContainer.Layer.ShadowOpacity = 0.1f; dialogContainer.Layer.ShadowOffset = new CGSize(0 - (cornerRadius + 5) / 2, 0 - (cornerRadius + 5) / 2); dialogContainer.Layer.ShadowColor = UIColor.Black.CGColor; dialogContainer.Layer.ShadowPath = UIBezierPath.FromRoundedRect(dialogContainer.Bounds, dialogContainer.Layer.CornerRadius).CGPath; // There is a line above the button var lineView = new UIView(new CGRect(0, dialogContainer.Bounds.Size.Height - kDatePickerDialogDefaultButtonHeight - kDatePickerDialogDefaultButtonSpacerHeight, dialogContainer.Bounds.Size.Width, kDatePickerDialogDefaultButtonSpacerHeight)); lineView.BackgroundColor = UIColor.FromRGB(198, 198, 198); dialogContainer.AddSubview(lineView); // ˆˆˆ //Title _titleLabel = new UILabel(new CGRect(10, 10, 280, 30)); _titleLabel.TextAlignment = UITextAlignment.Center; _titleLabel.Font = UIFont.BoldSystemFontOfSize(17); _titleLabel.Text = _title; dialogContainer.AddSubview(_titleLabel); _datePicker = new UIDatePicker(new CGRect(0, 30, 0, 0)); _datePicker.AutoresizingMask = UIViewAutoresizing.FlexibleRightMargin; _datePicker.Frame = new CGRect(_datePicker.Frame.Location, new CGSize(300, _datePicker.Frame.Size.Height)); _datePicker.Mode = _datePickerMode; _datePicker.Date = (NSDate)_defaultDate; if (_maximumDate.HasValue) { _datePicker.MaximumDate = (NSDate)_maximumDate.Value; } if (_minimumDate.HasValue) { _datePicker.MinimumDate = (NSDate)_minimumDate.Value; } dialogContainer.AddSubview(_datePicker); AddButtonsToView(dialogContainer); return(dialogContainer); }
private void createEditor() { button_cancel = new UIButton(); button_save = new UIButton(); label_subject = new UITextView(); label_location = new UITextView(); label_ends = new UILabel(); label_starts = new UILabel(); button_startDate = new UIButton(); button_endDate = new UIButton(); picker_startDate = new UIDatePicker(); picker_endDate = new UIDatePicker(); done_button = new UIButton(); //cancel button button_cancel.SetTitle("Cancel", UIControlState.Normal); button_cancel.SetTitleColor(UIColor.Blue, UIControlState.Normal); button_cancel.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; button_cancel.TouchUpInside += (object sender, EventArgs e) => { editor.Hidden = true; schedule.Hidden = false; editor.EndEditing(true); }; //save button button_save.SetTitle("Save", UIControlState.Normal); button_save.SetTitleColor(UIColor.Blue, UIControlState.Normal); button_save.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; button_save.TouchUpInside += (object sender, EventArgs e) => { if (indexOfAppointment != -1) { schedule.Appointments.GetItem <ScheduleAppointment>(nuint.Parse(indexOfAppointment.ToString())).Subject = (NSString)label_subject.Text; schedule.Appointments.GetItem <ScheduleAppointment>(nuint.Parse(indexOfAppointment.ToString())).Location = (NSString)label_location.Text; schedule.Appointments.GetItem <ScheduleAppointment>(nuint.Parse(indexOfAppointment.ToString())).StartTime = picker_startDate.Date; schedule.Appointments.GetItem <ScheduleAppointment>(nuint.Parse(indexOfAppointment.ToString())).EndTime = picker_endDate.Date; } else { ScheduleAppointment appointment = new ScheduleAppointment(); appointment.Subject = (NSString)label_subject.Text; appointment.Location = (NSString)label_location.Text; appointment.StartTime = picker_startDate.Date; appointment.EndTime = picker_endDate.Date; appointment.AppointmentBackground = UIColor.FromRGB(0xA2, 0xC1, 0x39); schedule.Appointments.Add(appointment); } editor.Hidden = true; schedule.Hidden = false; schedule.ReloadData(); editor.EndEditing(true); }; //subject label label_subject.TextColor = UIColor.Black; label_subject.TextAlignment = UITextAlignment.Left; label_subject.Layer.CornerRadius = 8; label_subject.Layer.BorderWidth = 2; label_subject.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; //location label label_location.TextColor = UIColor.Black; label_location.TextAlignment = UITextAlignment.Left; label_location.Layer.CornerRadius = 8; label_location.Layer.BorderWidth = 2; label_location.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; //starts time label_starts.Text = "Start Time :"; label_starts.TextColor = UIColor.Black; button_startDate.SetTitle("Start time", UIControlState.Normal); button_startDate.SetTitleColor(UIColor.Blue, UIControlState.Normal); button_startDate.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; button_startDate.TouchUpInside += (object sender, EventArgs e) => { picker_startDate.Hidden = false; done_button.Hidden = false; label_ends.Hidden = true; button_endDate.Hidden = true; button_startDate.Hidden = true; label_starts.Hidden = true; editor.EndEditing(true); }; //end time label_ends.Text = "End Time :"; label_ends.TextColor = UIColor.Black; //end date button_endDate.SetTitle("End time", UIControlState.Normal); button_endDate.SetTitleColor(UIColor.Blue, UIControlState.Normal); button_endDate.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; button_endDate.TouchUpInside += (object sender, EventArgs e) => { picker_endDate.Hidden = false; done_button.Hidden = false; label_ends.Hidden = true; button_endDate.Hidden = true; button_startDate.Hidden = true; label_starts.Hidden = true; editor.EndEditing(true); }; //date and time pickers picker_startDate.Hidden = true; picker_endDate.Hidden = true; //done button done_button.SetTitle("Done", UIControlState.Normal); done_button.SetTitleColor(UIColor.Blue, UIControlState.Normal); done_button.HorizontalAlignment = UIControlContentHorizontalAlignment.Right; done_button.TouchUpInside += (object sender, EventArgs e) => { picker_startDate.Hidden = true; picker_endDate.Hidden = true; done_button.Hidden = true; label_ends.Hidden = false; button_endDate.Hidden = false; button_startDate.Hidden = false; label_starts.Hidden = false; String _sDate = DateTime.Parse((picker_startDate.Date.ToString())).ToString(); button_startDate.SetTitle(_sDate, UIControlState.Normal); String _eDate = DateTime.Parse((picker_endDate.Date.ToString())).ToString(); button_endDate.SetTitle(_eDate, UIControlState.Normal); editor.EndEditing(true); }; button_cancel.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 10, 100, 30); button_save.Frame = new CGRect(100, this.Frame.Y + 10, 300, 30); label_subject.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 50, 300, 30); label_location.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 90, 300, 30); label_starts.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 140, 300, 30); button_startDate.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 180, 300, 30); label_ends.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 220, 300, 30); button_endDate.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 260, 300, 30); picker_startDate.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 180, 300, 30); picker_endDate.Frame = new CGRect(100, this.Frame.Y + 180, 300, 30); picker_endDate.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 180, 300, 30); done_button.Frame = new CGRect(this.Frame.X + 10, this.Frame.Y + 180, 300, 30); done_button.Hidden = true; editor.Add(button_cancel); editor.Add(button_save); editor.Add(label_subject); editor.Add(label_location); editor.Add(label_starts); editor.Add(button_startDate); editor.Add(label_ends); editor.Add(button_endDate); editor.Add(picker_endDate); editor.Add(picker_startDate); editor.Add(done_button); }
public static string BindDateTimeOffset(this UIDatePicker self) => DatePickerDateTimeOffsetTargetBinding.BindingName;
public void Include(UIDatePicker date) { date.Date = date.Date.AddSeconds(1); date.ValueChanged += (sender, args) => { date.Date = NSDate.DistantFuture; }; }
internal void CreateEditor() { ButtonCancel = new UIButton(); ButtonSave = new UIButton(); LabelSubject = new UITextView(); LabelLocation = new UITextView(); LabelEnds = new UILabel(); LabelStarts = new UILabel(); ButtonStartDate = new UIButton(); ButtonEndDate = new UIButton(); StartTimeZoneLabel = new UILabel(); EndTimeZoneLabel = new UILabel(); StartTimeZoneButton = new UIButton(); EndTimeZoneButton = new UIButton(); PickerStartDate = new UIDatePicker(); PickerEndDate = new UIDatePicker(); DoneButton = new UIButton(); ScrollView = new UIScrollView(); StartTimeZonePicker = new UIPickerView(); EndTimeZonePicker = new UIPickerView(); AllDaySwitch = new UISwitch(); AllDaylabel = new UILabel(); ScrollView.BackgroundColor = UIColor.White; LabelSubject.Font = UIFont.SystemFontOfSize(14); LabelLocation.Font = UIFont.SystemFontOfSize(14); LabelStarts.Font = UIFont.SystemFontOfSize(15); LabelEnds.Font = UIFont.SystemFontOfSize(15); StartTimeZoneLabel.Font = UIFont.SystemFontOfSize(15); EndTimeZoneLabel.Font = UIFont.SystemFontOfSize(15); AllDaylabel.Font = UIFont.SystemFontOfSize(15); StartTimeZoneButton.Font = UIFont.SystemFontOfSize(15); EndTimeZoneButton.Font = UIFont.SystemFontOfSize(15); ButtonStartDate.Font = UIFont.SystemFontOfSize(15); ButtonEndDate.Font = UIFont.SystemFontOfSize(15); ButtonCancel.BackgroundColor = UIColor.FromRGB(229, 229, 229); ButtonCancel.Font = UIFont.SystemFontOfSize(15); ButtonSave.Font = UIFont.SystemFontOfSize(15); ButtonSave.BackgroundColor = UIColor.FromRGB(33, 150, 243); ButtonCancel.Layer.CornerRadius = 6; ButtonSave.Layer.CornerRadius = 6; ButtonStartDate.Layer.CornerRadius = 6; ButtonEndDate.Layer.CornerRadius = 6; StartTimeZoneLabel.Text = "Start Time Zone"; StartTimeZoneLabel.TextColor = UIColor.Black; EndTimeZoneLabel.Text = "End Time Zone"; EndTimeZoneLabel.TextColor = UIColor.Black; AllDaylabel.Text = "All Day"; AllDaylabel.TextColor = UIColor.Black; AllDaySwitch.On = false; AllDaySwitch.OnTintColor = UIColor.FromRGB(33, 150, 243); AllDaySwitch.ValueChanged += AllDaySwitch_ValueChanged; StartTimeZoneButton.SetTitle("Default", UIControlState.Normal); StartTimeZoneButton.SetTitleColor(UIColor.Black, UIControlState.Normal); StartTimeZoneButton.Layer.BorderWidth = 2; StartTimeZoneButton.Layer.CornerRadius = 4; StartTimeZoneButton.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; StartTimeZoneButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; StartTimeZoneButton.TouchUpInside += (object sender, EventArgs e) => { StartTimeZonePicker.Hidden = false; DoneButton.Hidden = false; AllDaylabel.Hidden = true; AllDaySwitch.Hidden = true; ButtonCancel.Hidden = true; ButtonSave.Hidden = true; EndTimeZoneLabel.Hidden = true; EndTimeZoneButton.Hidden = true; Editor.EndEditing(true); }; EndTimeZoneButton.SetTitle("Default", UIControlState.Normal); EndTimeZoneButton.SetTitleColor(UIColor.Black, UIControlState.Normal); EndTimeZoneButton.Layer.BorderWidth = 2; EndTimeZoneButton.Layer.CornerRadius = 4; EndTimeZoneButton.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; EndTimeZoneButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; EndTimeZoneButton.TouchUpInside += (object sender, EventArgs e) => { EndTimeZonePicker.Hidden = false; DoneButton.Hidden = false; AllDaylabel.Hidden = true; AllDaySwitch.Hidden = true; ButtonCancel.Hidden = true; ButtonSave.Hidden = true; EndTimeZoneLabel.Hidden = true; EndTimeZoneButton.Hidden = true; Editor.EndEditing(true); }; //cancel button ButtonCancel.SetTitle("Cancel", UIControlState.Normal); ButtonCancel.SetTitleColor(UIColor.FromRGB(59, 59, 59), UIControlState.Normal); ButtonCancel.TouchUpInside += (object sender, EventArgs e) => { Editor.Hidden = true; schedule.Hidden = false; Editor.EndEditing(true); scheduleViews.HeaderView.Hidden = false; }; //save button ButtonSave.SetTitle("Save", UIControlState.Normal); ButtonSave.SetTitleColor(UIColor.White, UIControlState.Normal); ButtonSave.TouchUpInside += (object sender, EventArgs e) => { scheduleViews.HeaderView.Hidden = false; if (scheduleViews.IndexOfAppointment != -1) { (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>)[int.Parse(scheduleViews.IndexOfAppointment.ToString())].Subject = (NSString)LabelSubject.Text; (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>)[int.Parse(scheduleViews.IndexOfAppointment.ToString())].Location = (NSString)LabelLocation.Text; (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>)[int.Parse(scheduleViews.IndexOfAppointment.ToString())].StartTime = PickerStartDate.Date; (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>)[int.Parse(scheduleViews.IndexOfAppointment.ToString())].EndTime = PickerEndDate.Date; (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>)[int.Parse(scheduleViews.IndexOfAppointment.ToString())].IsAllDay = AllDaySwitch.On; } else { ScheduleAppointment appointment = new ScheduleAppointment(); appointment.Subject = (NSString)LabelSubject.Text; appointment.Location = (NSString)LabelLocation.Text; appointment.StartTime = PickerStartDate.Date; appointment.EndTime = PickerEndDate.Date; appointment.AppointmentBackground = UIColor.FromRGB(0xA2, 0xC1, 0x39); appointment.IsAllDay = AllDaySwitch.On; (schedule.ItemsSource as ObservableCollection <ScheduleAppointment>).Add(appointment); } Editor.Hidden = true; schedule.Hidden = false; schedule.ReloadData(); Editor.EndEditing(true); }; //subject label LabelSubject.TextColor = UIColor.Black; LabelSubject.TextAlignment = UITextAlignment.Left; LabelSubject.Layer.CornerRadius = 8; LabelSubject.Layer.BorderWidth = 2; LabelSubject.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; //location label LabelLocation.TextColor = UIColor.Black; LabelLocation.TextAlignment = UITextAlignment.Left; LabelLocation.Layer.CornerRadius = 8; LabelLocation.Layer.BorderWidth = 2; LabelLocation.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; //starts time LabelStarts.Text = "Start Time"; LabelStarts.TextColor = UIColor.Black; ButtonStartDate.SetTitle("Start time", UIControlState.Normal); ButtonStartDate.Layer.BorderWidth = 2; ButtonStartDate.Layer.CornerRadius = 4; ButtonStartDate.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; ButtonStartDate.SetTitleColor(UIColor.Black, UIControlState.Normal); ButtonStartDate.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; ButtonStartDate.TouchUpInside += (object sender, EventArgs e) => { PickerStartDate.Hidden = false; DoneButton.Hidden = false; AllDaylabel.Hidden = true; AllDaySwitch.Hidden = true; ButtonCancel.Hidden = true; ButtonSave.Hidden = true; EndTimeZoneLabel.Hidden = true; EndTimeZoneButton.Hidden = true; Editor.EndEditing(true); }; //end time LabelEnds.Text = "End Time"; LabelEnds.TextColor = UIColor.Black; //end date ButtonEndDate.SetTitle("End time", UIControlState.Normal); ButtonEndDate.SetTitleColor(UIColor.Black, UIControlState.Normal); ButtonEndDate.Layer.BorderWidth = 2; ButtonEndDate.Layer.CornerRadius = 4; ButtonEndDate.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; ButtonEndDate.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; ButtonEndDate.TouchUpInside += (object sender, EventArgs e) => { PickerEndDate.Hidden = false; DoneButton.Hidden = false; AllDaylabel.Hidden = true; AllDaySwitch.Hidden = true; ButtonCancel.Hidden = true; ButtonSave.Hidden = true; EndTimeZoneLabel.Hidden = true; EndTimeZoneButton.Hidden = true; Editor.EndEditing(true); }; //date and time pickers PickerStartDate.Hidden = true; PickerEndDate.Hidden = true; StartTimeZonePicker.Hidden = true; EndTimeZonePicker.Hidden = true; DoneButton.Hidden = true; //done button DoneButton.SetTitle("Done", UIControlState.Normal); DoneButton.SetTitleColor(UIColor.Blue, UIControlState.Normal); DoneButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Right; DoneButton.TouchUpInside += (object sender, EventArgs e) => { PickerStartDate.Hidden = true; PickerEndDate.Hidden = true; StartTimeZonePicker.Hidden = true; EndTimeZonePicker.Hidden = true; DoneButton.Hidden = true; LabelEnds.Hidden = false; ButtonEndDate.Hidden = false; ButtonStartDate.Hidden = false; LabelStarts.Hidden = false; EndTimeZoneLabel.Hidden = false; StartTimeZoneLabel.Hidden = false; AllDaylabel.Hidden = false; AllDaySwitch.Hidden = false; StartTimeZoneButton.Hidden = false; EndTimeZoneButton.Hidden = false; ButtonCancel.Hidden = false; ButtonSave.Hidden = false; String _sDate = DateTime.Parse(PickerStartDate.Date.ToString()).ToString(); ButtonStartDate.SetTitle(_sDate, UIControlState.Normal); String _eDate = DateTime.Parse(PickerEndDate.Date.ToString()).ToString(); ButtonEndDate.SetTitle(_eDate, UIControlState.Normal); Editor.EndEditing(true); }; SchedulePickerModel model = new SchedulePickerModel(TimeZoneCollection.TimeZoneList); model.PickerChanged += (sender, e) => { if (e.SelectedValue != "Default" && scheduleViews.SelectedAppointment != null) { scheduleViews.SelectedAppointment.StartTimeZone = e.SelectedValue; } StartTimeZoneButton.SetTitle(e.SelectedValue, UIControlState.Normal); }; SchedulePickerModel model2 = new SchedulePickerModel(TimeZoneCollection.TimeZoneList); model2.PickerChanged += (sender, e) => { if (e.SelectedValue != "Default" && scheduleViews.SelectedAppointment != null) { scheduleViews.SelectedAppointment.EndTimeZone = e.SelectedValue; } EndTimeZoneButton.SetTitle(e.SelectedValue, UIControlState.Normal); }; StartTimeZonePicker.Model = model; EndTimeZonePicker.Model = model2; StartTimeZonePicker.ShowSelectionIndicator = true; EndTimeZonePicker.ShowSelectionIndicator = true; ScrollView.Add(LabelSubject); ScrollView.Add(LabelLocation); ScrollView.Add(LabelStarts); ScrollView.Add(ButtonStartDate); ScrollView.Add(StartTimeZoneLabel); ScrollView.Add(StartTimeZoneButton); ScrollView.Add(LabelEnds); ScrollView.Add(ButtonEndDate); ScrollView.Add(EndTimeZoneLabel); ScrollView.Add(EndTimeZoneButton); ScrollView.Add(StartTimeZonePicker); ScrollView.Add(EndTimeZonePicker); ScrollView.Add(PickerEndDate); ScrollView.Add(PickerStartDate); ScrollView.Add(DoneButton); ScrollView.Add(AllDaylabel); ScrollView.Add(AllDaySwitch); ScrollView.Add(ButtonCancel); ScrollView.Add(ButtonSave); Editor.Add(ScrollView); }