ViewController смещается по вертикали на 20px после того, как модальное отклонено: только для iOS4.Пример кода включен - PullRequest
0 голосов
/ 05 сентября 2010

Я надеюсь, что кто-то может помочь ... Эта проблема обсуждалась здесь, и я попробовал предложенные решения, но безрезультатно.

Моя проблема лучше всего иллюстрируется на примере проекта, который можно загрузить из этогоURL:

http://www.hitsalive.com/tmp/VCTest.zip

В примере проекта у меня есть основной UIViewController с двумя кнопками, используемыми для вызова двух других UIViewControllers - одна использует presentModalViewController, а другая -«addSubView» (используя AppDelegate).По отдельности обе кнопки и UIViewController с работают нормально.

Однако, если я сначала вызову модальный viewcontroller, затем отклоню его (используя dismissModalViewControllerAnimated: YES), а затем выведу второй (addSubView) UIViewController, затем все элементы и подпредставления во втором UIViewController(например, кнопка в примере) сместится вниз по вертикали на 20 пикселей.И смещение происходит с мгновенной задержкой.

Эта проблема не возникает с SDK 3.2 и ниже - только для iOS 4.

Любая помощь будет признательна, особенно со ссылкой на пример проекта выше.

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

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

shiftedViewController* ShiftedViewController = [[ShiftedViewController alloc] init ];

CGRect theFrame = [shiftedViewController.view frame];
theFrame.origin.y = 20;
theFrame.origin.x=0;
[shiftedViewController.view setFrame: theFrame];



[self presentModalViewController:shiftedViewController          
                    animated:YES];
1 голос
/ 04 октября 2010

добавить [aViewControllerTwo setWantsFullScreenLayout:YES]; к вашему - (void)flipToViewControllerTwo после ViewControllerTwo *aViewControllerTwo = [[ViewControllerTwo alloc] initWithNibName:@"ViewControllerTwo" bundle:[NSBundle mainBundle]];

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