예제 #1
0
        public static PublicationView CreatePublicationView(Publication publication, DoPublicationDownload startDownload, ShowAlert cancelDownloadAlert, float zoomRate = 1.0f)
        {
            PublicationView publicationView = new PublicationView();

            publicationView.ZoomRate          = zoomRate;
            publicationView.StartDownload     = startDownload;
            publicationView.ShowDownloadAlert = cancelDownloadAlert;

            PublicationCover cover = CreatePublicationCover(publication);

            publicationView.AddCover(cover);
            publicationView.DrawPublicationActionView();

            publicationView.P = publication;

            return(publicationView);
        }
예제 #2
0
        /// <summary>
        /// Shows the download action view.
        /// </summary>
        /// <param name="publication">Publication.</param>
        /// <param name="startDownload">Start download.</param>
        /// <param name="cancelDownloadAlert">Cancel download alert.</param>
        /// <param name="hasFailed">If set to <c>true</c> has failed.</param>
        public void ShowDownloadActionView(Publication publication, DoPublicationDownload startDownload, ShowAlert cancelDownloadAlert, bool hasFailed = false)
        {
            RemoveActionSubview();
            if (publication.PublicationStatus == PublicationStatusEnum.NotDownloaded)
            {
                UIImageView downloadImageView = hasFailed ? new UIImageView(new UIImage("Images/Publication/Cover/DownloadFailed.png")) : new UIImageView(new UIImage("Images/Publication/Cover/CloudInstall.png"));
                if (!hasFailed)
                {
                    downloadImageView.Frame = new CGRect(0, 0, ACTION_VIEW_WIDTH, ACTION_VIEW_WIDTH);
                }
                else
                {
                    TriangleBackgroundColor = UIColor.FromRGB(253, 59, 47);
                    SetNeedsDisplay();
                }

                downloadImageView.UserInteractionEnabled = false;
                ActionView.AddSubview(downloadImageView);
            }


            ActionView.AddGestureRecognizer(new UITapGestureRecognizer(delegate() {
                startDownload(publication, (PublicationView)Superview);
                ShowDownloadProgressView();
            }));
            ActionView.UserInteractionEnabled = true;

            this.publication         = publication;
            this.cancelDownloadAlert = cancelDownloadAlert;

            if (ActionLabel != null)
            {
                ActionLabel.Hidden = false;
                ActionLabel.AddGestureRecognizer(new UITapGestureRecognizer(delegate() {
                    startDownload(publication, (PublicationView)Superview);
                    ShowDownloadProgressView();
                }));
            }
        }