Как получить изображение, снятое с камеры, чтобы занять весь экран - PullRequest
0 голосов
/ 06 января 2012

Я перетащил UIImageView в окно UIViewController в раскадровке. Я использовал ручки, чтобы он занимал все окно. Я установил режим UIImageView в «Соотношение сторон». Моя цель - чтобы изображение занимало все окно, когда iPhone удерживается в той же ориентации, что и изображение.

Но по какой-то причине есть немного места над и под каждым изображением.

Также у меня настроено, чтобы панель навигации и строка состояния исчезали, когда пользователь касается изображения с помощью скрытой кнопки UIB. Это работает нормально, за исключением того, что изображение сдвигается вниз, когда снова отображаются навигационная панель и строка состояния. Изображение только сдвигается, когда у меня есть этот код:

    self.navigationController.navigationBarHidden = YES;
    self.navigationController.navigationBarHidden = NO;

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

Как сделать так, чтобы мои изображения отображались в полноэкранном режиме без всех этих причуд?

EDIT:

Я думаю, что это как-то связано с этим:

Формат изображения камеры составляет 4: 3, а формат экрана 3: 2. Так что изображение с камеры просто не может заполнить экран если вы не готовы обрезать это 3: 2. Для этого примените соответствующее преобразование масштаба.

возможно ли применить аффинетрансформацию к изображению в uiimageview?

1 Ответ

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

Вам нужно установить wantsFullScreenLayout на YES в вашем экземпляре UIViewController. Из документации для wantsFullScreenLayout.

Когда контроллер представления представляет свой вид, он обычно сжимается, что смотреть так, чтобы его рамка не перекрывала строку состояния устройства. Установка этого свойства в YES заставляет контроллер представления измерять его чтобы заполнить весь экран, включая область под статус бар. (Конечно, для этого нужно, чтобы окно Контроллер вида должен сам по себе иметь размеры, чтобы заполнить весь экран, включая область под строкой состояния.) Обычно вы устанавливаете это свойство для ДА в тех случаях, когда у вас есть полупрозрачная строка состояния и хотите, чтобы содержимое вашего представления было видно за этим представлением.

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

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