在我的iOS应用中,我想从照片库中抓取图像并将其裁剪为方格式。 UIImagePickerController
可以很好地解决这个问题,但是有一个小问题:当我从库中选择一个横向照片时,它不会填充裁剪区域(对于肖像图像)。这允许用户选择非正方形区域。 有没有办法强制图像选择器垂直填充裁剪区域就像它横向填充一样 - 没有实现我自己的图像选择器?
我的代码:
class AddProfileViewController: UIViewController, UIGestureRecognizerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var profileImageView: EnhancedImageView!
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
// ...
imagePicker.delegate = self
}
func profileImageTapped() {
imagePicker.allowsEditing = true
imagePicker.sourceType = .PhotoLibrary
presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
// ...
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
dismissViewControllerAnimated(true, completion: nil)
}
}
选择风景图片,如下所示:
相反,我希望图像水平和垂直延伸到裁剪框,因此图像选择器将始终返回方形图像。
答案 0 :(得分:0)
我在故事板(90x90)中指定了我的图像视图高度和宽度,并在故事板中选择了“Aspect Fill”和“Clip to Bounds”。如果用户未放大,图像将从中心裁剪为90x90。