滚动视图框架宽度是否大于内容大小?

时间:2015-09-15 20:42:39

标签: ios swift

我有open System.Linq.Expressions let paramExpr:ParameterExpression = Expression.Parameter( typedefof<int>, "asd") let pList = new System.Collections.Generic.List<ParameterExpression>() pList.Add(paramExpr) // This expression represents a lambda expression // that adds 1 to the parameter value. let lambdaExpr:LambdaExpression = Expression.Lambda( Expression.Add(paramExpr, Expression.Constant(1)), pList) [<EntryPoint>] let main argv = for _ in [1..4] do let sw = Stopwatch.StartNew() [for i in [1..10000] -> lambdaExpr] |> ignore printfn "Elapsed: %A" sw.Elapsed 0 // return an integer exit code ,我正在尝试正确设置UIScrollView

contentSize的输出为scrollView.frame.size。这些与我在故事板中看到的数字相同。奇怪的是,如果我(600.0, 600.0),我会得到一个带有很多可滚动空间的滚动视图。直观地说,如果scrollView.contentSize = CGSize(600, 600)等于滚动视图的大小,则应该没有可滚动空间,并且当然不应该有很多可滚动空间。我的体型有什么问题?

编辑:我应该添加我的contentSize设置为某个数字&lt; 1

1 个答案:

答案 0 :(得分:1)

scrollView.frame.size的输出仅在(600.0, 600.0)viewDidLoad中为viewWillAppear。这是因为在这些方法中尚未设置Autolayout。

如果您尝试在scrollView.frame.size中记录viewDidAppear,那么您将根据屏幕大小(假设Autolayout已正确实施)获得滚动视图的正确帧大小,会比contentSize小得多。

这就是为什么在设置scrollView.contentSize = CGSize(600, 600)时会获得大量可滚动空间的原因。