这里我附上了我工作的截图。我面临一个问题,图像视图没有缩放到帧。我已经在自定义视图中创建了一个自定义视图,我已经添加了ImageView并对其父视图(这里是ContainerView)设置了约束
图像内容模式为scaleAspectFit
let imageView = makeImageView()
addSubview(imageView)
imageView.topAnchor.constraint(equalTo: topAnchor).isActive = true
imageView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
imageView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
当我将自定义视图初始化到视图控制器中时,会显示上面的截图。在viewcontroller中,我只是将图像添加到stackview中。
你能告诉我应该添加什么吗?
1条答案
按热度按时间yizd12fk1#
您需要将图像视图的内容模式设置为
.contentMode = .scaleToFill
。然后,当您设置其
.image
时,使用以下内容设置比例高度锚点:下面是一个自定义类的例子-为了清晰起见,我在图像视图的4个边上插入了8个点:
以及一个视图控制器示例。垂直堆栈视图,包含自定义视图的“顶部标签”和“底部标签”。还加载3个图像-300 x300、300 x200和200 x300。点击任意位置可循环到下一个图像:
使用这三个图像:
运行时看起来是这样的: