Я пытаюсь создать индикатор активности в своем приложении. Я использую раскадровку, и я создал кнопку, которая нажимает другое представление.iOS 5: Странное поведение addSubview
Вот как открыть другой вид:
- (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");
}
}
Everythings хорошо до сих пор. Я получил журнал до того, как открывается вид, и второй журнал после его полной загрузки.
Но когда я хочу использовать метод 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, он появится.
Я видел похожие вопросы, но они не помогли мне. Кто-нибудь знает? Должен ли я попробовать что-то еще?
Заранее спасибо.
мне любопытно - почему вы используете @ попробовать/@ ловить блоки? – SomaMan
, потому что я думал, что это лучшее решение для обнаружения границ активности. он показывает загрузку (предположительно ...) при попытке, дает ошибку в случае, если есть, наконец, удалить панель загрузки. – kubilay