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); }
/// <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(); })); } }