我的尺寸为300x600(高x宽)的UIImage。 UIImage的相对层次结构如下:
使用AutoLayout,我为UIImageView,UIScrollView和UIVIew设置了以下约束:
我已经设置了TableView的相对高度尺寸,如下所示:
// Setting Last Row to height = 70 pixels and first row to fill balance of screen:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 1 { return 70 }
else { return tableView.frame.size.height - 70 }
}
我想要的是UIImage的 height 与它所在的UISCrollView的高度完全匹配。我不关心UIImage的最终宽度,但是想要它遵循'AspectFit'的限制。所以我可能会使用
imageView.contentMode = UIViewContentMode.ScaleAspectFit
......可能在
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
我将设置UIScrollView的动态高度和宽度参数,然后将UIImage高度设置为遵循UISCrollView的高度,并允许ScaleAspectFit
自动处理宽度。
我尝试了各种代码来实现这一目标,但未能达到预期的效果。
问题:我是否走在正确的轨道上?任何人都可以帮我开始使用一些骨架代码,这样我就可以根据自己的需要进行自定义。
旁注: 我只允许我的应用的纵向模式。没有风景。
非常感谢您的关注和时间;)
答案 0 :(得分:0)
我会创建一个容器UIView
来保存精确的UIScrollView
然后我可以创建滚动视图的子UIImageView
的约束到容器视图的约束,即相等的高度。
正如我想的那样,这些约束对于他们的父母来说就像
UIView <--> UIScrollView <--> UIImageView
但请尝试将其作为
UIView <--> UIImageView