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;
        }