Сделать скриншот программно, без строки состояния

Интересно, есть ли способ сделать снимок экрана текущего просмотра со всем, что на нем — панель навигации, контент, панель вкладок — но есть ли способ сделать это, кроме строки состояния?


person tom    schedule 20.03.2012    source источник
comment
Я считаю, что нет. Однако вы можете сделать снимок экрана, а затем обрезать изображение.   -  person PengOne    schedule 20.03.2012
comment
возможный дубликат Как сделать снимок экрана UIView?   -  person jtbandes    schedule 20.03.2012


Ответы (2)


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

Проверьте это: Настройка размера снимка экрана приложения

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

person Madhu    schedule 20.03.2012
comment
Большой! Это то, что я хотел. Спасибо. - person tom; 20.03.2012

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

person EmilioPelaez    schedule 20.03.2012
comment
Это то, что у меня было, но это действительно зависит от того, как изначально был настроен ваш контроллер представления. В моем случае панель навигации и панель вкладок отсутствовали бы в конечном изображении, хотя они есть на экране. Вот почему я ищу последовательный способ решения проблемы - person tom; 20.03.2012
comment
Это смешно. Какой тип контроллера представления является вашим корневым контроллером представления? Кроме того, эта часть кажется белой или это контент, который должен быть ниже (если есть)? - person EmilioPelaez; 20.03.2012