如何根据横向模式下移动设备的高度调整图像大小?我有一个宽图像(标尺),并希望能够来回滑动图像。我试过缩放图像,但我似乎无法让它工作。
func resizeImage(size: CGSize) {
let scaleFactor = imageView.bounds.height / size.height
let newHeight = imageView.bounds.height * scaleFactor
let newWidth = imageView.bounds.width * scaleFactor
var newSize: CGSize
newSize = CGSize(newWidth, newHeight)
imageView.frame = CGRect(origin: imageView.frame.origin, size: newSize)
scrollView.contentSize = imageView.bounds.size
scrollView.autoresizingMask = [.flexibleRightMargin, .flexibleLeftMargin, .flexibleTopMargin, .flexibleRightMargin]
self.scrollView.contentMode = UIViewContentMode.scaleAspectFit;
}
答案 0 :(得分:0)
参考此链接=> https://github.com/roadfire/ScaleImageByDevice它正在为我工作
答案 1 :(得分:0)
如果您使用的是故事板,那么使用自动布局约束会更容易。您必须将Equal Height Constraint
与Multiplier
一起使用。虽然我也是初学者,并且没有将这种方法用于横向模式,但我认为它也适用于景观。
请按以下步骤操作: -
假设您在创建视图时在故事板中使用的视图是iPhone 7.因此您的屏幕高度为667
。
现在,假设在此视图中,您的图片看起来很完美,高度为200
。
因此,请采用200/667
= 0.299
现在通过使用比率作为乘数选择两个视图(即imageView和superView)来设置Equal Height Constraint
。
您可以通过底部View as:
最后,图像的高度约束应如下所示。 My height ratio is 0.4 (pic here)