public override void ViewDidLoad() { base.ViewDidLoad(); View.BackgroundColor = UIColor.White; downloadButton = UIButton.FromType(UIButtonType.RoundedRect); downloadButton.SetTitle("Start Downloading", UIControlState.Normal); downloadButton.SetTitleColor(UIColor.White, UIControlState.Normal); downloadButton.BackgroundColor = UIColor.Blue; downloadButton.Layer.CornerRadius = 10f; downloadButton.TouchUpInside += DownloadButtonOnTouchUpInside; var customProgView = new UICustomProgressView(); scrollView = new UIScrollView(); scrollView.AddSubview(customProgView); scrollView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); scrollView.AddConstraints(new FluentLayout[] { customProgView.AtTopOf(scrollView), customProgView.AtLeftOf(scrollView), customProgView.WithSameWidth(scrollView), customProgView.Height().EqualTo(300) }); #region For Loop for (var i = 0; i < TotalViews; i++) { var view = new UIProgressiveImageView(); view.ImageView.ContentMode = UIViewContentMode.ScaleAspectFit; view.ImageView.BackgroundColor = UIColor.Gray; scrollView.AddSubview(view); scrollView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); if (i == 0) { scrollView.AddConstraints(new [] { view.AtTopOf(scrollView), view.AtLeftOf(scrollView), view.WithSameWidth(scrollView), view.Height().EqualTo(ViewHeight), }); } else { var previousView = scrollView.Subviews[i - 1]; scrollView.AddConstraints(new [] { view.Below(previousView), view.WithSameLeft(previousView), view.WithSameWidth(previousView), view.WithSameHeight(previousView) }); } } #endregion View.AddSubviews(downloadButton, scrollView); View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); View.AddConstraints(new[] { downloadButton.AtTopOf(View, UIApplication.SharedApplication.StatusBarFrame.Height), downloadButton.WithSameCenterX(View), downloadButton.WithSameWidth(View).Minus(20), downloadButton.Height().EqualTo(40), scrollView.Below(downloadButton), scrollView.AtLeftOf(View), scrollView.WithSameWidth(View), scrollView.WithSameBottom(View) }); session = new HttpFilesDownloadSession(AppDelegate.BgSessionIdentifier); session.OnFileDownloadedSuccessfully += SessionOnFileDownloadedSuccessfully; session.OnFileDownloadFailed += SessionOnFileDownloadFailed; session.OnFileDownloadProgress += OnProgress; }