2010-10-09 2 views
0

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

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

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

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

Неужели кто-нибудь сталкивался с этим? Как ты это починил?

Спасибо,

-D,

ответ

0

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

+0

Мое текущее приложение не полноэкранное, к сожалению, строка состояния будет там всегда в приложении ... – dewberry

0

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

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

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

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

если вы выяснить правильную любовь ID решения, чтобы знать это :)

0

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

Удачи вам!

Смежные вопросы