1

我正在构建一个应用程序,我需要强制用户上传方形图片(就像 Instagram 一样),但是我想避免从头开始编程界面,因为我们时间紧迫。

重要的是要注意,用户必须选择他/她想要显示的图像的哪一部分,因此以编程方式裁剪图像而不询问用户是不可能的。

我已经设法通过相机让它工作,但是通过库我似乎无法强迫用户使用方形图像。这是我的代码:

func presentGallery(){
    // from library
    picker.allowsEditing = true
    picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
    presentViewController(picker, animated: true, completion: nil)
}

然后在我的 imagepickercontroller 上:

    var chosenImage = info[UIImagePickerControllerEditedImage] as! UIImage 

但是我没有得到想要的结果。如果“最小缩放”是显示图像高度的 100%,或者如果我可以在图像的顶部和底部添加白色/黑色背景,那会很好。

这是问题所在:在此处输入图像描述

而不是这样的:

在此处输入图像描述

我的应用程序需要从 iOS7 开始工作。

4

1 回答 1

0

如果他们从他们的图书馆中挑选,你应该做一些检查以确保图片是方形的。

获得图像后(使用imagePickerController didFinishPickingMediaWithInfo),然后使用[info objectForKey:UIImagePickerControllerOriginalImage];. 完成此操作后,执行检查:

if (image.size.height != image.size.width) // Show some alert

更好的解决方案可能是创建一个视图,允许用户选择任何照片,然后选择照片的正方形部分导入您的应用程序,就像 Instagram 一样。

于 2015-09-24T22:23:43.460 回答