在 xamarin 表单 iOS 应用程序中使用 Acr.UserDialogs 的进度对话框出现问题



我在xamarin表单iOS中使用nuget包(Acr.UserDialog(显示进度条时遇到问题。 使用相同的代码片段,它在Android平台上运行良好。

using (UserDialogs.Instance.Loading("Loading", null, null, true, MaskType.Black)) {
await Task.Run(() => {
// Code Logic Goes here ...
});
}

ACR 用户对话框库的一个版本:

PCL 项目 - v6.5.1

iOS 项目 - v7.0.0

如果有人知道此问题的解决方案,请提供解决方案。

https://forums.xamarin.com/discussion/67832/implementing-file-picker-example-into-a-cross-platform-application

请检查此内容:

var file = await CrossFilePicker.Current.PickFile();
if (file != null)
{
var fileFullName = file.FilePath.Substring(file.FilePath.LastIndexOf('\') + 1);
var extension = Path.GetExtension(file.FileName).Substring(1);
var fileName = Path.GetFileNameWithoutExtension("Pick_" + extension + "_File_" + DateTime.UtcNow.ToString("MMddyyyy_hhmmss"));

using (Stream stream = file.GetStream())
using (MemoryStream ms = new MemoryStream())
{
stream.CopyTo(ms);
filePath = ms.ToArray().SaveAttachmentInLocalFolder(fileName, extension);
}

}

public async Task GetPdfDataAsync(byte[] fileBytes)
{
try
{
var localPath = string.Empty;
var fileName = Guid.NewGuid().ToString();
localPath =
Task.Run(() => _localFileProvider.SaveFileToDisk(fileBytes, $"{fileName}.pdf")).Result;
if (string.IsNullOrWhiteSpace(localPath))
{
await PageDialogService.DisplayAlertAsync("Error loading PDF", "Computer says no", "OK");
return;
}
if (Device.RuntimePlatform == Device.Android)
Pdfviewsource = $"file:///android_asset/pdfjs/pdfjs/web/viewer.html?file={WebUtility.UrlEncode(localPath)}";
else
{
Pdfviewsource = localPath;
}
}
catch (Exception) {  }
}

最新更新