MBProgressHUD вызов из ViewDidLoad - PullRequest
       3

MBProgressHUD вызов из ViewDidLoad

1 голос
/ 04 октября 2011

Я вызываю мой rss-анализатор из MBProgressHUD, и в данный момент он в viewdidappear, и он работает, однако я хочу, чтобы он был в viewdidload, поэтому, когда я возвращаюсь, он не перезагружает его - однако, когда я перемещаю его в viewdidload, он запускает процесс, но не MBProgressHUD.

- (void)viewDidLoad {
    [super viewDidLoad];

        self.title = @"Results";

    HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWindow];


    [self.view.window addSubview:HUD];
    HUD.delegate = self;

    HUD.labelText = @"Loading";
    HUD.detailsLabelText = @"updating data";

    //Show the HUD while the provided method executes in a new thread
    [HUD showWhileExecuting:@selector(loadResults) onTarget:self withObject:nil animated:YES];


    }

Есть идеи?

Спасибо, Том

Ответы [ 2 ]

2 голосов
/ 30 мая 2013

В методе viewDidLoad self.view будет загружен без своего суперпредставления и окна. Например, self.view.superview будет загружено в метод viewWillAppear, затем self.view.window будет загружено в метод viewDidAppear. Вот почему [self.view.window addSubview: HUD] не будет происходить в viewDidLoad, но [self.view addSubview: HUD] работает.

0 голосов
/ 04 октября 2011

Попробуйте приведенный ниже код, он отлично работает на моем конце.

- (void)viewDidLoad {
    [super viewDidLoad];    
    HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"Loading";
    HUD.detailsLabelText = @"updating data";    
}
...