public override void ViewDidLayoutSubviews() { base.ViewDidLayoutSubviews(); TimeEntriesLogTableView.ContentInset = new UIEdgeInsets( top: -TimeEntriesLogViewSource.SpaceBetweenSections, left: 0, bottom: (nfloat)System.Math.Max(CurrentTimeEntryCard.Frame.Height, StartTimeEntryButton.Frame.Height), right: 0); TimeEntriesLogTableView.BringSubviewToFront(TimeEntriesLogTableView.TableHeaderView); if (viewInitialized) { return; } viewInitialized = true; ViewModel.IsTimeEntryRunning .Where(visible => visible) .Subscribe(_ => showTimeEntryCard()) .DisposedBy(disposeBag); ViewModel.IsTimeEntryRunning .Where(visible => !visible) .Subscribe(_ => hideTimeEntryCard()) .DisposedBy(disposeBag); }
public override void ViewDidLayoutSubviews() { base.ViewDidLayoutSubviews(); TimeEntriesLogTableView.ContentInset = new UIEdgeInsets(-TimeEntriesLogViewSource.SpaceBetweenSections, 0, StartTimeEntryButton.Frame.Height, 0); TimeEntriesLogTableView.BringSubviewToFront(TimeEntriesLogTableView.TableHeaderView); if (TimeEntriesLogTableView.TableHeaderView != null) { var header = TimeEntriesLogTableView.TableHeaderView; var size = header.SystemLayoutSizeFittingSize(UIView.UILayoutFittingCompressedSize); if (header.Frame.Size.Height != size.Height) { var headerRect = new CGRect { X = header.Frame.X, Y = header.Frame.Y, Width = header.Frame.Width, Height = size.Height }; header.Frame = headerRect; } TimeEntriesLogTableView.TableHeaderView = header; TimeEntriesLogTableView.SetNeedsLayout(); } if (viewInitialized) { return; } viewInitialized = true; ViewModel.IsTimeEntryRunning .Where(visible => visible) .Subscribe(_ => showTimeEntryCard()) .DisposedBy(disposeBag); ViewModel.IsTimeEntryRunning .Where(visible => !visible) .Subscribe(_ => hideTimeEntryCard()) .DisposedBy(disposeBag); }