我在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) { }
}