iPhone UIImagePickerController сбрасывает содержимое - PullRequest
0 голосов
/ 09 октября 2010

Сейчас я работаю над довольно простым приложением для iPhone.У меня есть UIWebView с UIToolBar в нижней части с кнопкой на нем.Я построил все это с помощью кода, хотя я и создал пустой NIB, так как я надеюсь, что в конечном итоге Facebook Connect будет работать с ним, и у меня были проблемы, когда я не настраивал его с этим пустым NIB в прошлом ...

Я добавил еще одну кнопку, которая просто сидит в середине страницы (для целей тестирования, пока я создаю), которая вызывает UIActionSheet.Когда вы выбираете кнопку на UIActionSheet, у меня появляется UIImagePickerController поверх всего, чтобы выбрать изображение из моего Camera Roll.

Проблема в том, что когда мой UIImagePickerController закрылся (либо путем выбораизображение или нажатие кнопки отмены), все содержимое моей страницы было сдвинуто на 20 пикселей ...

Хотя это правда, что я мог бы просто сдвинуть рамки всех своих элементов вверхна 20 пикселей это кажется "хакерским", и хотя я люблю взламывать, я бы лучше выяснил, почему это происходит.

Кто-нибудь когда-нибудь сталкивался с этим?Как вы это исправили?

Спасибо,

- d

Ответы [ 3 ]

0 голосов
/ 12 октября 2010

У меня похожая проблема с использованием MFMailComposeViewController. Когда я отклоняю его, экран падает на 20 пикселей.

Полагаю, это как-то связано с IB, так как мой в последнее время немного капризничает. Он думает, что на мой взгляд есть строка состояния, хотя она не указана. Пока я не найду правильное решение, я использую CGRectMake, чтобы «исправить» проблему.

Я помещаю следующий код внизу метода didFinishWithResult. Этот метод вызывается, когда я отклоняю MFMailComposeViewController. Возможно, вы могли бы разместить тот же код, когда вы закрываете UIImagePickerController.

self.view.frame = CGRectMake (0, 0, 320, 480);

если ты найдешь правильное решение, то люби знать:)

0 голосов
/ 07 мая 2012

Установите для navigationController.view.frame значение CGRectMake (0, 0, 320, 460) в viewWillAppear. Если вы поддерживаете альбомную ориентацию, вам нужно будет выполнить CGRectMake (0, 0, 480, 300), если вы находитесь в альбомной ориентации.

Удачи!

0 голосов
/ 10 октября 2010

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

...