addSubView для viewController.navigatorController - PullRequest
1 голос
/ 13 января 2012

У меня есть viewController, и я пытаюсь добавить к нему подпредставление так, чтобы оно охватывало весь экран, однако в нем есть навигационный контроллер, так что добавление подпредставления всегда добавляет его под панель навигации, есть ли способмоделировать presentModalViewController в подобных случаях?

Ответы [ 5 ]

2 голосов
/ 17 января 2012

Вы можете добавить подпредставление к контроллеру вида и затем скрыть контроллер навигации сверху, или вы все равно можете подтолкнуть его к контроллеру навигации, а затем просто снова удалить контроллер навигации сверху, а затем вы можете использовать pop для перехода туда и обратно.

код для нажатия на контроллер вида:

if(!self.YOURVIEWCONTROLLER){
    self.YOURVIEWCONTROLLER  = [[YOURVIEWCONTROLLER alloc] initWithNibName:@"YOURVIEWCONTROLLER" bundle:nil] autorelease];
}
[self.navigationController pushViewController:self.YOURVIEWCONTROLLER animatedLYES];

и на следующем NEXTView.m добавить

[self.navigationController setNavigationBarHidden:YES];

не забудьте создать экземпляр YOURVIEWCONTROLLER в файле .h. Или вы могли бы сделать простой

[self.view addSubview:NEWVIEW];
[self.navigationController setNavigationBarHidden:YES];

по крайней мере, как минимум, есть строка для скрытия навигационного контроллера.

1 голос
/ 02 января 2015

У меня недавно были похожие проблемы, и, потратив 5-10 минут, я получил точное решение ...

В соответствии с моим решением, я просто добавляю свой пользовательский UIView в subview navigationController.view

Как это: -

[self.navigationController.view addSubview:popOver];

popOver - Ваш пользовательский UIView

Happy Codding:)

1 голос
/ 13 января 2012

Кажется, я однажды вспомнил, что у меня была похожая проблема, и мне кажется, что решением было добавить подпредставление к контроллеру навигации (поскольку контроллер представления уже является подпредставлением контроллера навигации), а не добавлять его к просмотр контроллера.

0 голосов
/ 13 января 2012

Добавить представление к суперпредставлению представления navigationController.

[navigationController.view.superview addSubview:viewController.view];
0 голосов
/ 13 января 2012

Возможно, вы могли бы скрыть панель навигации при добавлении подпредставления. У меня есть метод на моем ViewController, который выглядит следующим образом:

self.navigationController.navigationBarHidden = YES; 
UIView *v = [[UIView alloc] initWithFrame:self.view.frame]; 
v.backgroundColor = [UIColor redColor]; 
[self.view addSubview:v]; 

Когда этот код выполняется, моя панель навигации исчезает, и ее заменяет полноэкранный красный вид.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...