Удаление элементов управления камерой из UIImagePicker - Как масштабировать до полного экрана - iPhone / iPad - PullRequest
3 голосов
/ 16 января 2012

У меня есть код ниже в моем приложении, который отображает UIImagePicker минус элементы управления камерой.

#define CAMERA_SCALAR 1.32 

@implementation CameraViewController

- (id)init {
// Remove standard controls from UIImagePicker and make full screen
if (self = [super init]) {
    self.sourceType = UIImagePickerControllerSourceTypeCamera;
    self.showsCameraControls = NO;
    self.navigationBarHidden = YES;
    self.toolbarHidden = YES;
    self.wantsFullScreenLayout = YES;
    self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);          
}
return self;
}

Первоначально, когда я удалил set showCameraControls в NO, я получил черную полосу на экране, где находились элементы управления. Чтобы компенсировать это, я добавил в строку self.cameraViewTransform, чтобы увеличить представление.

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

Может кто-нибудь посоветовать мне лучший способ сделать это?

Заранее спасибо!

1 Ответ

1 голос
/ 16 января 2012

Возможно, я неверно истолковал ваш вопрос, но для масштабирования также вы можете

self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, CAMERA_SCALAR, CAMERA_SCALAR);

вместо

self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);

Но, конечно, это вытеснит боковые стороны камеры из экрана.


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

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