2016-05-17 42 views
2

我想實現一個UIProgressView,它在8秒內從0加載到100,但它沒有工作。Xamarin iOS ProgressView does not change

這是我的代碼。 ProgressView設備是正確的,但它會自動更新它們。我的錯是什麼?

public override void ViewDidAppear(bool animated) 
    { 
     base.ViewDidAppear(animated); 

     Timer = NSTimer.CreateRepeatingScheduledTimer(TimeSpan.FromSeconds(15.0), delegate 
     { 
      DismissViewController(true, null); 
     }); 

     UIView.Animate(8,() => { 
      progressView.SetProgress(1.0f, true); 
     }); 
    } 
+0

你的'UIView.Animate'代碼是正確的,如果你在'progressView.SetProgress'行設置了一個斷點,它正在調用嗎? – SushiHangover

回答

1

它實際上應該工作,我已經測試了你自己的代碼。只要確保在progresbar的初始值設爲零:

progresView.Progress = 0f; 

或者在界面生成器/你的設計師:

enter image description here

1

我用下面的做你在找什麼去做。

集進度爲0

progressView.Progress = 0.0f; 

使用動畫功能與延遲和動畫選項。

UIView.Animate (8, 0, UIViewAnimationOptions.CurveLinear, 
    () => { 
     progressView.SetProgress(1.0f, true); 
    }, 
    () => { 
     // animation complete action, 
     // instead of doing the delay above your animation just navigate away in here. 
    } 
); 

我希望這會有所幫助。乾杯。