【发布时间】:2016-03-12 19:01:06
【问题描述】:
我有以下代码,我正在尝试实现添加到垂直滚动视图的动态图像。我希望有它的约束,以便图像将自身设置在 scrollView 的边界内。
但结果是图像似乎保持其原始大小(比滚动视图大,因此图像被裁剪)
代码如下:
@IBOutlet weak var myScrollView: UIScrollView!
private let lettersModel:LettersModel = LettersModel();
private var imgs = [UIImageView]();
override func viewDidLoad() {
super.viewDidLoad()
myScrollView.backgroundColor = UIColor.brownColor()
for var index=0; index<1; index++
{
let myImage:UIImage = UIImage(named: lettersModel.getLetterAt(index))!
let myImageView:UIImageView = UIImageView()
myImageView.image = myImage
myImageView.contentMode = UIViewContentMode.ScaleAspectFit
myScrollView.addSubview(myImageView)
myImageView.translatesAutoresizingMaskIntoConstraints = false;
myScrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-[myImageView]-|", options: [], metrics: nil, views:["myImageView":myImageView] ))
imgs.append(myImageView)
}
}
【问题讨论】:
-
我认为你不应该打电话给
view.addSubview(myScrollView),它应该已经被SB附上了。 -
你还需要设置
myScrollView的contentSize,让它知道有更多的东西要显示。 -
@sschala 你说得对,我删除了 view.addSubview(myScrollView) ,但静止图像的布局并不好。 myScrollView 约束是从 storyboard 设置的,添加内容大小(刚刚尝试 300*1000)没有帮助。谢谢
-
你能检查一下你的scrollView宽度是否等于屏幕宽度吗?
-
view.frame.width = 1024 , scrollView.frame.width = 125 , scrollview.contenSize.width=0
标签: swift autolayout