public override void ViewDidLoad() { base.ViewDidLoad(); NavigationItem.Title = FoundationResources.CalendarSettingsTitle; var header = CalendarSettingsTableViewHeader.Create(); UserCalendarsTableView.TableHeaderView = header; header.TranslatesAutoresizingMaskIntoConstraints = false; header.HeightAnchor.ConstraintEqualTo(tableViewHeaderHeight).Active = true; header.WidthAnchor.ConstraintEqualTo(UserCalendarsTableView.WidthAnchor).Active = true; header.SetCalendarPermissionStatus(ViewModel.PermissionGranted); var source = new SelectUserCalendarsTableViewSource(UserCalendarsTableView); source.SectionHeaderBackgroundColor = Colors.Settings.Background.ToNativeColor(); UserCalendarsTableView.Source = source; ViewModel.Calendars .Subscribe(UserCalendarsTableView.Rx().ReloadSections(source)) .DisposedBy(DisposeBag); header.EnableCalendarAccessTapped .Subscribe(ViewModel.RequestAccess.Inputs) .DisposedBy(DisposeBag); source.Rx().ModelSelected() .Subscribe(ViewModel.SelectCalendar.Inputs) .DisposedBy(DisposeBag); }
public override void ViewDidLoad() { base.ViewDidLoad(); NavigationItem.Title = FoundationResources.CalendarSettingsTitle; var header = CalendarSettingsTableViewHeader.Create(); UserCalendarsTableView.TableHeaderView = header; header.TranslatesAutoresizingMaskIntoConstraints = false; header.HeightAnchor.ConstraintEqualTo(tableViewHeaderHeight).Active = true; header.WidthAnchor.ConstraintEqualTo(UserCalendarsTableView.WidthAnchor).Active = true; header.SetCalendarPermissionStatus(ViewModel.PermissionGranted); var source = new SelectUserCalendarsTableViewSource(UserCalendarsTableView, ViewModel.Calendars); source.SectionHeaderBackgroundColor = Color.Settings.Background.ToNativeColor(); UserCalendarsTableView.Source = source; this.Bind(header.EnableCalendarAccessTapped, ViewModel.RequestAccessAction); this.Bind(source.ItemSelected, ViewModel.SelectCalendarAction); }