UIActivityIndicator가 올바르게 작동하지 않음 Xamarin IOS

Khaksar

나는 포함하고 있습니다 UIActivityIndicator내에서 UIViewController. FTP에서 파일을 가져와야합니다.

내에 버튼이 있습니다. 해당 버튼을 ViewController클릭하면 다운로드가 시작됩니다. 내가 넣어 UIActivityIndicator( aiReceive) 내에서 ViewController파일 다운로드 완료시에만 애니메이션 내보기 컨트롤러, 즉 정지 된 상태에서 나타나고있다, 그러나.

Xamarin IOS에서 iPad 앱을 만들고 있습니다.

비동기 메서드를 추가했지만 지금 아래 오류가 발생합니다. await 연산자는 포함 된 람다식이 async 한정자로 표시된 경우에만 사용할 수 있습니다.

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

                        }
                }
            }  
            }

}

표시기는 페이지에 항상 표시됩니다.

Nerkyator

UI 스레드를 차단하고 있으므로 UI에 적용하려는 변경 사항이 적용되지 않습니다 (이 경우 UIActivityIndicator애니메이션 회전).

이를 수행하는 가장 좋은 방법은 다음과 같이 async / await를 사용하는 것입니다.

aiReceive.StartAnimating();

await YourFTPRequestAsync();

aiReceive.StopAnimating();

다음은 async \ await에 대한 공식 MSDN 문서작동 방식에 대한 샘플 기반 힌트 입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

iOS7 UISearchBar가 올바르게 표시되지 않음

분류에서Dev

문자열 하위가 올바르게 작동하지 않음

분류에서Dev

Ubuntu 13.10-Skype가 올바르게 작동하지 않음

분류에서Dev

Foreach 루프 위치가 올바르게 작동하지 않음

분류에서Dev

Ubuntu 13.10-Skype가 올바르게 작동하지 않음

분류에서Dev

StoredProcedure가 올바르게 작동하지 않음

분류에서Dev

DHCP3- 서버가 올바르게 작동하지 않음

분류에서Dev

Android 의도가 올바르게 작동하지 않음

분류에서Dev

jQuery.가 올바르게 작동하지 않음

분류에서Dev

SQL NOT IN 연산자가 올바르게 작동하지 않음

분류에서Dev

.select ()가 Chrome에서 올바르게 작동하지 않음

분류에서Dev

Tkinter-StringVar ()가 올바르게 작동하지 않음

분류에서Dev

Android ViewPager 위치가 올바르게 작동하지 않음

분류에서Dev

PHP in_array가 올바르게 작동하지 않음

분류에서Dev

기본 태그가 올바르게 작동하지 않음

분류에서Dev

범위가 올바르게 작동하지 않음

분류에서Dev

while 루프가 올바르게 작동하지 않음

분류에서Dev

Java If-else 함수가 올바르게 작동하지 않음

분류에서Dev

Java If-else 함수가 올바르게 작동하지 않음

분류에서Dev

ALT + F2가 올바르게 작동하지 않음

분류에서Dev

array_key_exists가 올바르게 작동하지 않음

분류에서Dev

Python Args가 올바르게 작동하지 않음

분류에서Dev

JSON .Net 직렬화가 올바르게 작동하지 않음

분류에서Dev

Drools가 Spring Boot에서 올바르게 작동하지 않음

분류에서Dev

Xamarin : Visual Studio에서 App Store에 iOS 게시가 작동하지 않음

분류에서Dev

iOS 7.1 tableView reloadData가 tableView를 올바르게 업데이트하지 않음

분류에서Dev

iOS 시뮬레이터가 TextFields를 올바르게 표시하지 않음

분류에서Dev

ios7 상태 표시 줄이 올바르게 작동하지 않음

분류에서Dev

TabBar의 SplitView가 iOS7에서 올바르게 배치되지 않음

Related 관련 기사

  1. 1

    iOS7 UISearchBar가 올바르게 표시되지 않음

  2. 2

    문자열 하위가 올바르게 작동하지 않음

  3. 3

    Ubuntu 13.10-Skype가 올바르게 작동하지 않음

  4. 4

    Foreach 루프 위치가 올바르게 작동하지 않음

  5. 5

    Ubuntu 13.10-Skype가 올바르게 작동하지 않음

  6. 6

    StoredProcedure가 올바르게 작동하지 않음

  7. 7

    DHCP3- 서버가 올바르게 작동하지 않음

  8. 8

    Android 의도가 올바르게 작동하지 않음

  9. 9

    jQuery.가 올바르게 작동하지 않음

  10. 10

    SQL NOT IN 연산자가 올바르게 작동하지 않음

  11. 11

    .select ()가 Chrome에서 올바르게 작동하지 않음

  12. 12

    Tkinter-StringVar ()가 올바르게 작동하지 않음

  13. 13

    Android ViewPager 위치가 올바르게 작동하지 않음

  14. 14

    PHP in_array가 올바르게 작동하지 않음

  15. 15

    기본 태그가 올바르게 작동하지 않음

  16. 16

    범위가 올바르게 작동하지 않음

  17. 17

    while 루프가 올바르게 작동하지 않음

  18. 18

    Java If-else 함수가 올바르게 작동하지 않음

  19. 19

    Java If-else 함수가 올바르게 작동하지 않음

  20. 20

    ALT + F2가 올바르게 작동하지 않음

  21. 21

    array_key_exists가 올바르게 작동하지 않음

  22. 22

    Python Args가 올바르게 작동하지 않음

  23. 23

    JSON .Net 직렬화가 올바르게 작동하지 않음

  24. 24

    Drools가 Spring Boot에서 올바르게 작동하지 않음

  25. 25

    Xamarin : Visual Studio에서 App Store에 iOS 게시가 작동하지 않음

  26. 26

    iOS 7.1 tableView reloadData가 tableView를 올바르게 업데이트하지 않음

  27. 27

    iOS 시뮬레이터가 TextFields를 올바르게 표시하지 않음

  28. 28

    ios7 상태 표시 줄이 올바르게 작동하지 않음

  29. 29

    TabBar의 SplitView가 iOS7에서 올바르게 배치되지 않음

뜨겁다태그

보관