Swift 改变 UIImageView 的位置
Swift change position of UIImageView
我正在通过代码添加图像视图,并将图像宽高比设置为 ScaleAspectFit。
我无法开始工作的是图像的顶部 space/constraint。我想将图像设置在特定的 space 顶部,同时保持 ScaleAspectFit。
当您在图像之间滑动时,所有图像的顶部位置都不同,这看起来很奇怪。
我的结构是页面视图控制器 > 滚动视图。为了给图像添加缩放。
添加图片的代码:
imageView.frame = CGRectMake(0, 0, scrollView.frame.size.width, scrollView.frame.size.height)
imageView.contentMode = .ScaleAspectFit
imageView.url = imageFileName?.toURL()
imageView.userInteractionEnabled = true
scrollView.addSubview(imageView)
这是显示问题的打印屏幕。我想要做的是始终使顶部的黑色 space 具有与所有图像相同的高度。这样他们都有相同的top space.
将另一个 UIView 添加到滚动视图的顶部。把它调整到你想要的高度。进行布局约束,它应该可以工作。
您可以使用 .ScaleAspectFill
而不是使用 .ScaleAspectFit
,这样可以保证图像始终完全填满视图。然后 none 的图像视图将在顶部出现不均匀的空白 space。
如果您必须有 .ScaleAspectFit
行为,那么您可以计算图像的 "aspect fitting" 框架并手动设置其框架,使其适合并顶部对齐:
import AVFoundation
...
let aspectRatio = imageView.image.size.width / imageView.image.size.height
let aspectRect = AVMakeRectWithAspectRatioInsideRect(aspectRatio, scrollView.bounds)
imageView.frame = CGRectMake(0, 0, aspectRect.size.width, aspectRect.size.height)
我正在通过代码添加图像视图,并将图像宽高比设置为 ScaleAspectFit。
我无法开始工作的是图像的顶部 space/constraint。我想将图像设置在特定的 space 顶部,同时保持 ScaleAspectFit。
当您在图像之间滑动时,所有图像的顶部位置都不同,这看起来很奇怪。
我的结构是页面视图控制器 > 滚动视图。为了给图像添加缩放。
添加图片的代码:
imageView.frame = CGRectMake(0, 0, scrollView.frame.size.width, scrollView.frame.size.height)
imageView.contentMode = .ScaleAspectFit
imageView.url = imageFileName?.toURL()
imageView.userInteractionEnabled = true
scrollView.addSubview(imageView)
这是显示问题的打印屏幕。我想要做的是始终使顶部的黑色 space 具有与所有图像相同的高度。这样他们都有相同的top space.
将另一个 UIView 添加到滚动视图的顶部。把它调整到你想要的高度。进行布局约束,它应该可以工作。
您可以使用 .ScaleAspectFill
而不是使用 .ScaleAspectFit
,这样可以保证图像始终完全填满视图。然后 none 的图像视图将在顶部出现不均匀的空白 space。
如果您必须有 .ScaleAspectFit
行为,那么您可以计算图像的 "aspect fitting" 框架并手动设置其框架,使其适合并顶部对齐:
import AVFoundation
...
let aspectRatio = imageView.image.size.width / imageView.image.size.height
let aspectRect = AVMakeRectWithAspectRatioInsideRect(aspectRatio, scrollView.bounds)
imageView.frame = CGRectMake(0, 0, aspectRect.size.width, aspectRect.size.height)