загрузка представления поверх tabbarcontroller - PullRequest
1 голос
/ 19 августа 2010

У меня есть контроллер панели вкладок, и при касании кнопки в правой кнопке навигации вида я хочу загрузить (навигационный контроллер + вид) поверх него.Вид, который находится сверху, является полупрозрачным, и я должен иметь возможность видеть содержимое в контроллере вкладок.

Я пытался использовать [self.tabbarcontroller.view addSubview: navController];

Я отлично работал, и он работает нормально.Но когда я попытался сделать то же самое в альбомной ориентации, он просто занимал половину экрана.что нужно сделать ?Есть ли способ исправить эту проблему

Могу ли я использовать окно, чтобы загрузить мой новый вид?будет ли он занимать весь экран?я пробовал авторазбирать маски и эффекта нет

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

Каковы границы navController / tabbarcontroller? Вы правильно настраиваете на это окно?

Вы можете легко вывести его:

NSLog(@"navController bounds: %@",NSStringFromCGRect(navController.view.bounds));
1 голос
/ 20 августа 2010

Вы имеете в виду addSubview:navController.view? Я не думал, что вы могли бы рассматривать контроллеры представления как представления.

В общем, вы должны быть осторожны при использовании UIViewController вне классов, управляемых фреймворком. UIKit автоматически обрабатывает такие вещи, как viewWillAppear / autorotation для контроллеров представления, о которых он знает, но он не знает о VC, чьи представления вы случайно добавляете как подпредставления.

РЕДАКТИРОВАТЬ: Если все, что вам нужно, это чтобы он казался прозрачным, вы можете использовать что-то вроде

UIGraphicsBeginImageContextWithOptions(tabBarController.view.size, 0, 0);
[tabBarController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

, а затем используйте img в качестве фона для просмотра. Он не будет анимировать материал в фоновом режиме, но при условии, что вам это не нужно, он на намного быстрее, чем множество прозрачных видов, накладываемых друг на друга.

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