Раскадровка и переключение просмотров? - PullRequest
2 голосов
/ 30 ноября 2011

У меня есть приложение для iPad, которое использует функцию раскадровки, а затем у меня есть отдельный файл .xib для другого просмотра.Я могу переключиться на отдельный вид и все нормально:

-(IBAction)SecondView:(id)sender{

    SecondView *Second = [[SecondView alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:Second animated:NO];

}

Но когда я нахожусь во втором виде и пытаюсь вернуться назад, я делаю все то же самое только с первым контроллером вида,но это просто идет к черному экрану:

-(IBAction)FirstView:(id)sender{

    FirstView *First = [[FirstView alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:First animated:NO];

}

Что вы, ребята, думаете?Я делаю что-то неправильно?Как лучше всего переключать представления?

Ответы [ 2 ]

5 голосов
/ 30 ноября 2011

initWithNibName:bundle - для загрузки файлов пера или xib.

Если вы загружаете с раскадровки, вам нужно использовать

    FirstView *First= [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"];

IDENTIFIER определено в вашей раскадровке, оно находится в утилите, Инспектор атрибутов справа.

ОДНАКО Ваша настоящая проблема в том, что вам вообще не следует загружаться с раскадровки. Вы должны просто позвонить

[self dismissModalViewControllerAnimated:YES];

Этот вызов очистит presentModalViewController:animated:, который вы использовали для установки контроллера модального вида.

0 голосов
/ 30 ноября 2011

Вы представили SecondView, используя presentModalViewController:animated:, поэтому вам нужно отклонить его, используя dismissModalViewControllerAnimated:.

- (IBAction)FirstView:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...