提问人:RjC 提问时间:1/19/2018 更新时间:1/19/2018 访问量:474
Swift:UIImageView在iPad上表现得很奇怪,但在iPhone上却完全没问题 - 如何让图像填满视图?
Swift: UIImageView behaves strange on iPad, but perfectly fine on iPhone - how to make an image fill the view?
问:
也许这很容易,或者我不了解 imageView 的工作方式,但是当我将 imageView 放置在具有一些约束的情节提要中时(见下文),它会显示用户选择的图像,我希望它显示的方式:填充整个 imageView(剪切图像的顶部和底部)。
当我在 iPad(Air、Pro 等)上运行相同的通用应用程序时,imageView 本身会正确显示 (1:1),用户可以选择图像,但不是填充整个视图,而是将图像显示为整体(顶部/底部黑条用于横向,右/左黑条用于纵向照片)。有没有办法告诉应用程序“始终”显示图像,填充整个视图并剪切其余部分?
这是我在故事板和代码中设置 imageView 的方式:
脚本:
在情节提要中,imageView 位于中间,紧贴前导和尾随两侧。纵横比设置为 1:1 - 因此它是一个完美的矩形(例如,在 iPhone 8 上它是 375x375),在所有模拟器上它都保持一个完美的矩形。制作的内容设置为“Aspect Fit”。
法典:
在代码中,我添加了 tapGestureRecognizer 和 UIImagePickerController:
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
addPhotoGesture = UITapGestureRecognizer(target: self, action: #selector(self.importPhoto))
imageView.addGestureRecognizer(addPhotoGesture)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
// get image
guard let image = info[UIImagePickerControllerEditedImage] as? UIImage else {return}
// save in imageView
imageView.image = image
addPhotoGesture.isEnabled = false
}
同样,在所有iPhone型号上,图像都会填充整个imageView(某些部分被截断,但没关系)。在iPad上,显然屏幕空间是如此之大,以至于所有图像都完全用黑条显示,但我希望能够让它填充imageView,剪切外部的任何东西。
我该怎么做?
答: 暂无答案
评论