我想在视图控制器中显示标题和图像下方。
我的限制是:
- 标签可以位于屏幕顶部 50 像素处
- 标签可以有一行或多行
- 图像可以位于我的标签的 50 像素处
- 图像必须具有屏幕的宽度
- 滚动视图必须根据所有这些元素的大小进行滚动
我有一个带有滚动视图的视图控制器:
-视图控制器
---view
------滚动视图
---------容器视图
- - - - - - 标签
- - - - - - 图像
我想使用故事板和自动布局。
我已成功正确对齐标签,但无法在标签的 50 像素处显示图像并保持其比例。
如果我对图像视图使用“宽高比”或“缩放填充”,在这种情况下,标签和图像的尺寸为 50px,就像我想要的那样。
与方面适合:
有刻度来填充:
但如果我使用“宽高比填充”,我不明白图像是如何显示的。
使用方面填充:
我已经关注这个问题大约三天了,这让我抓狂。
我还尝试使用不可见的“间隔”视图......
我找不到解决方案。
我使用 Xcode 6 快速开发。
编辑 1:通过 vacawama 建议解决图像定位问题
为您的 imageView 添加一个 @IBOutlet 并为您的视图控制器添加一个属性以跟踪约束:
@IBOutlet weak var imageView: UIImageView!
var aspectRatio:NSLayoutConstraint?
然后添加新图像:
let tree = UIImage(named: "WinterTree.jpg")!
imageView.image = tree
aspectRatio = NSLayoutConstraint(item: imageView, attribute: .Height, relatedBy: .Equal, toItem: imageView, attribute: .Width, multiplier: tree.size.height/tree.size.width, constant: 1)
imageView.addConstraint(aspectRatio!)
编辑2:但之后,我的视图不再滚动
我的容器视图的约束:
我删除了底部约束,以便容器视图的高度适应内容,但出现错误: