Я пытаюсь создать индикатор активности в своем приложении. Я использую раскадровку, и я создал кнопку, которая нажимает другое представление.
Вот как я открываю другое представление:
- (IBAction)openView {
NSLog(@"View is loading");
@try {
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"viewOpenSegue"];
[nav setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentModalViewController:nav animated:YES];
}
@catch (NSException *exception) {
NSLog(@"Error");
}
@finally {
NSLog(@"View loaded");
}
}
Пока все хорошо. Я получил журнал до открытия представления и второй журнал после его полной загрузки.
Но когда я хочу использовать метод addSubview, у меня странное поведение.
NSArray *subviewArray2 = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];
loadingView = [subviewArray2 objectAtIndex:0];
Вот как я загружаю свое представление. И я добавляю/удаляю вот так:
[self.view addSubview:loadingView];
//@try block
//@catch block
//@finally
{
[loadingView removeFromSuperview];
}
Я ожидаю, что вид появится и исчезнет на экране. Но он появляется примерно на 1 миллисекунду прямо перед тем, как появляется нажатое представление, а затем внезапно исчезает.
Если я добавлю этот способ под viewDidLoad, он появится.
Я видел подобные вопросы, но они не помогли мне. Кто-нибудь знает? Должен ли я попробовать что-то еще?
Заранее спасибо.