UIImagePickerController allowEditing = YES Проблема - PullRequest
2 голосов
/ 07 декабря 2010

У меня все еще есть проблема с контроллером uiimagepicker.Это должно быть прямо вперед, но я все еще не могу понять это.Или, может быть, я иду в неправильном направлении.

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

Становится странно, когда я установил allowEditing на YES.делегат didiFinishPickingMediaWithInfo возвращает информацию NSDictionary * с обоими значениями editedImage и originalImage, даже если пользователь НЕ обрезал изображение, отображаемое в средстве выбора.Итак, проблема в том, как я могу определить, обрезал ли пользователь изображение или нет?

Что мне нужно для моего приложения, так это то, что пользователю разрешено обрезать изображение, если он хочет, но ему также предоставляется выборНЕ обрезать, тем самым возвращая исходное фото.В настоящее время я использую сегментированный контроль для пользователя, чтобы сделать предварительный выбор перед загрузкой фотографии, что я считаю довольно неудобным.А может, какой-то пользователь этого не понимает.

Так как же мне реализовать то, что мне нужно, не беспокоя пользователя?

Ответы [ 2 ]

3 голосов
/ 07 декабря 2010

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

Однако, если я ошибаюсь, вы можете сравнить их размеры:

editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];

if ((editedImage.size.width != originalImage.size.width) || (editedImage.size.height != originalImage.size.height)) {
    // The image has been edited
}
0 голосов
/ 16 февраля 2013

Просто используйте это .. оно автоматически вернет правильное изображение, обрезанное или не обрезанное ... и у вас все еще есть вся информация просто:)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info
{
...