我正在构建一个应用程序,我需要强迫用户上传正方形图片(就像Instagram一样),但是我想避免从头编程,因为我们时间不多。
需要注意的是,用户必须选择他/她想要显示的图像的哪一部分,因此在不询问用户的情况下编程剪切图像是不可能的。
我已经设法让这个工作通过相机,但通过库,我似乎不能强迫用户使用方形图像。下面是我的代码:
func presentGallery(){
    // from library
    picker.allowsEditing = true
    picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
    presentViewController(picker, animated: true, completion: nil)
}然后在我的图像采集器上:
    var chosenImage = info[UIImagePickerControllerEditedImage] as! UIImage 然而,我没有得到想要的结果。如果“最小缩放”是显示图像高度的100%,或者我可以在图像的顶部和底部添加一个白色/黑色的背景,那就很好了。
问题是:

而不是这样的:

我的应用程序需要从iOS7开始工作。
发布于 2015-09-24 22:23:43
你应该做一些检查,以确保图片是正方形的,如果他们是从他们的图书馆。
获得图像后(使用imagePickerController didFinishPickingMediaWithInfo),然后使用[info objectForKey:UIImagePickerControllerOriginalImage];获取图像。完成此操作后,执行以下检查:
if (image.size.height != image.size.width) // Show some alert更好的解决方案可能是创建一个视图,允许用户选择任何照片,然后选择照片的正方形部分导入您的应用程序,就像Instagram一样。
https://stackoverflow.com/questions/32771295
复制相似问题