UIActivityIndicator无法正常工作Xamarin IOS

哈克萨尔

我包括UIActivityIndicator在我的UIViewController我需要从FTP使用一个文件。

我的按钮上有一个按钮ViewController,单击该按钮后,下载将开始。我在UIActivityIndicatoraiReceive)上放了一个ViewController,它在视图控制器上以停止状态显示,但只有在完成文件下载后才能进行动画处理。

我正在Xamarin IOS中制作iPad App。

我添加了异步方法,但是现在出现以下错误。仅当其包含的lambda表达式用async修饰符标记时,才可以使用await运算符

public partial class FirstViewController : UIViewController
{
    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        btnReceiveData.TouchUpInside += (object sender, EventArgs e) =>
        {
            //BTProgressHUD.Show("Receiving Data...");    --> This Component is also not working,
             aiReceive.StartAnimating();
             await GetFileAsync());

            BTProgressHUD.Dismiss();

        };

    }

async Task GetFileAsync()
        {
  using (var client = new HttpClient())
            {
                try
                {
                    aiReceive.StartAnimating();   /* --> Inimation is not starting at this point. Animation Start After Downloading file, download takes time, i want to show animation in the mean while.*/
                        using (WebClient ftpclient = new WebClient())
                        {
                            try
                            {
                                ftpclient.Credentials = new System.Net.NetworkCredential("UserName", "Password");
                                string sourceFilePath = @"ftp://ftp.google.com/FileName.pdf";

                                        var FileDownloadStart = UIAlertController.Create("Info", "Data file received.", UIAlertControllerStyle.Alert);
                             FileDownloadStart.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null));
                                        UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(FileDownloadStart, true, null);

                                        //Downloading file from FTP.
                                        ftpclient.DownloadFile(sourceFilePath, "C:\");

                                        var FileDownloadAlert = UIAlertController.Create("Info", "Data file received.", UIAlertControllerStyle.Alert);
                                        FileDownloadAlert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null));
                                        UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(FileDownloadAlert, true, null);
                            }
                            catch (Exception ex)
                            {
                                File.Delete(EpazzDirectory + AuditorId.ToString());
                                var ExceptionAlert = UIAlertController.Create("Exception", ex.Message, UIAlertControllerStyle.Alert);

                                ExceptionAlert.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, null));
                                UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(ExceptionAlert, true, null);
                            }

                        }
                }
            }  
            }

}

指示器始终显示在页面上。

能动者

您正在阻止UI线程,这将阻止您要对UI进行的更改生效(在本例中为UIActivityIndicator旋转动画)。

最好的方法是使用async / await,例如:

aiReceive.StartAnimating();

await YourFTPRequestAsync();

aiReceive.StopAnimating();

这是有关async \ await的官方MSDN文档,以及有关其工作方式示例驱动提示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xamarin IOS CanPerformAction无法正常工作

来自分类Dev

Xamarin.IOS MonoTouch.Dialog ExpandableDatePickerElement无法正常工作

来自分类Dev

Xamarin中的iOS上的handlebars.net无法正常工作

来自分类Dev

预编译静态库在 xamarin ios 中无法正常工作

来自分类Dev

iOS .stringsdict无法正常工作

来自分类Dev

iOS:isMovingToParentViewController无法正常工作

来自分类Dev

Xamarin IOS UILabel的UIScrollView内的手势无法正常工作

来自分类Dev

iOS 9中的applinks无法正常工作

来自分类Dev

设备方向在iOS中无法正常工作

来自分类Dev

iOS 8.2 UIRequiresPersistentWiFi无法正常工作

来自分类Dev

UIButton在iOS 7中无法正常工作

来自分类Dev

iOS 7 MKOverlayRenderer无法正常工作

来自分类Dev

iOS 7中的UIImagePickerControllerSourceSourcePhotoLibrary无法正常工作

来自分类Dev

NSNotificationCenter无法正常工作的iOS 7

来自分类Dev

iOS上的sendSubviewToBack无法正常工作

来自分类Dev

Flexbox在iOS上无法正常工作(订购)

来自分类Dev

iOS8 UILocalNotification无法正常工作

来自分类Dev

iOS UISwitch“动画:布尔”无法正常工作

来自分类Dev

ios uiAutomation tapWithOptions无法正常工作

来自分类Dev

NSNotificationCenter无法正常工作的iOS 7

来自分类Dev

iOS的Facebook登录无法正常工作

来自分类Dev

iOS Sprite Kit didBeginContact无法正常工作

来自分类Dev

phonegap inappbrowser IOS无法正常工作

来自分类Dev

iOS上的sendSubviewToBack无法正常工作

来自分类Dev

iOS-解析-PFQuery无法正常工作

来自分类Dev

iOS UITableViewCell imageView无法正常工作

来自分类Dev

无法使Rdio iOS SDK回放正常工作

来自分类Dev

iOS8 UILocalNotification无法正常工作

来自分类Dev

Unicode在iOS中无法正常工作

Related 相关文章

热门标签

归档