2016-05-17 2 views
2

Я хочу реализовать UIProgressView, который загружается от 0 до 100 за 8 секунд, но он выполняет работу.Xamarin iOS ProgressView не меняет

Вот мой код. Прогресс Access appaers прав, но он обновляет их сам. В чем моя ошибка?

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; 

Используйте функцию Animate с задержкой и опции анимации.

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

Надеюсь, это поможет. Приветствия.

Смежные вопросы