как изменить рамку обрезки UIImagePickerController - PullRequest
25 голосов
/ 16 июня 2009

при открытии работы с UIImagePickerController и настройке allowImageEditing = YES; есть рамка обрезки по умолчанию, 320x320. В моем случае я хотел бы установить эту рамку обрезки на 320x240 для изображений в альбомной ориентации и 240x320 для портретных изображений. Однако я не смог найти способ изменить ту рамку 320x320, которая используется при редактировании / обрезке фотографии. Кто-нибудь из вас нашел способ сделать это?

Спасибо!

Ответы [ 3 ]

29 голосов
/ 16 июня 2009

Вы должны реализовать это сами.

Сборщик выполняет только обрезку 320x320.

Так что вместо этого установите

allowImageEditing = NO;

Теперь вы получите полное изображение обратно. Затем вам нужно будет создать контроллер вида / представления, который будет обрезать до желаемых пропорций.

2 голосов
/ 20 февраля 2015

Это более свежий ответ с необходимым кодом ручной обрезки: Ручная обрезка

Все еще нет возможности избежать тяжелой работы.

1 голос
/ 27 октября 2016

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

let cropVC = ShittyImageCropVC(frame: (self.navigationController?.view.frame)!, image: imageToCrop, aspectWidth: 4, aspectHeight: 3)
self.navigationController?.present(cropVC, animated: true, completion: nil)

После этого вы можете использовать другой код, чтобы просто масштабировать его до желаемого разрешения (320x240 или 240x320).

...