2016-11-22 30 views
0

我是iOS开发新手,VFL给我带来了很大的麻烦。我试图将以下约束转换为VFL作为研究案例的简单视图,但我的宽度从不推断,除非我明确指定宽度,否则视图永远不会显示。VFL表达式没有像预期的那样转化IB约束

enter image description here

H:|-50-[v0]-50-| 
V:|-20-[v0(100)] 

据我了解,这些表达式应该转化为图像中的IB限制。我在这里做错了什么?

整个约束声明:

scrollView.addConstraints(
     NSLayoutConstraint.constraints(withVisualFormat: "H:|-50-[v0]-50-|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": bigFrameUIView])) 

scrollView.addConstraints(
     NSLayoutConstraint.constraints(withVisualFormat: "V:|-20-[v0(100)]", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": bigFrameUIView])) 
+0

你要为你的滚动视图的'contentSize'? – Paulw11

回答

1

对于UIScrollView中有一些规则。你可以检查出来here

但总之,你必须:

  • 仅指定一个子视图为您滚动视图并将其连接到 你的滚动视图两侧,所以滚动视图将使用它作为内容
  • 对你添加的contentView的大小设置了一些约束,所以它可以推断出关于contentSize的scrollView
  • 将你的其他元素放入你的scrollView的contentView中

此代码可能会工作,如果添加此V0到UIView的

+0

这是正确的。我只是试了一下,并添加了另一个UIView作为内容的工作,尽管我真的不喜欢堆叠2视图(UIScrollView + contentView)的想法,只是为了能够构建我的界面。 – dambros

相关问题