MBProgressHUD горизонтальный индикатор выполнения xamarin ios - PullRequest
0 голосов
/ 06 сентября 2018

Мне нужно показать статус загрузки в горизонтальном индикаторе выполнения. Я использую пакет MBProgressHUD в xamarin ios

У меня есть этот метод,

public void ShowProgressBar(string title, string message, int max, int 
progress)
{
UIViewController controller = 
UIApplication.SharedApplication.KeyWindow.RootViewController;
hud = new MTMBProgressHUD(controller.View);
controller.View.AddSubview(hud);
hud.Color = UIColor.Clear.FromHex(0x8BC34A);
hud.Mode = MBProgressHUDMode.DeterminateHorizontalBar;
hud.Progress = progress;
}

максимальное значение равно 18, а параметр прогресса начинается с 1, и этот метод вызывается 18 раз. при первом вызове этого метода индикатор загрузки полностью загружается, что неправильно. Как загрузить этот прогресс на основе значения прогресса?

Спасибо

1 Ответ

0 голосов
/ 07 сентября 2018

Я заметил, что вы объявили параметры progress как int. Фактически, вы должны объявить его как float, потому что диапазон прогресса от 0 до 1.Например, вы можете улучшить свой код следующим образом:

public void ShowProgressBar(string title, string message, int max, int time) //time means the number of you call this method .from 1-18
    {
        UIViewController controller =
        UIApplication.SharedApplication.KeyWindow.RootViewController;
        hud = new MTMBProgressHUD(controller.View);
        controller.View.AddSubview(hud);
        hud.Color = UIColor.Clear.FromHex(0x8BC34A);
        hud.Mode = MBProgressHUDMode.DeterminateHorizontalBar;

        float progress = time / 18.0f;

        hud.Progress = progress;
    }
...