我有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
答案 0 :(得分:1)
scrollView.frame.size
的输出仅在(600.0, 600.0)
或viewDidLoad
中为viewWillAppear
。这是因为在这些方法中尚未设置Autolayout。
如果您尝试在scrollView.frame.size
中记录viewDidAppear
,那么您将根据屏幕大小(假设Autolayout
已正确实施)获得滚动视图的正确帧大小,会比contentSize
小得多。
这就是为什么在设置scrollView.contentSize = CGSize(600, 600)
时会获得大量可滚动空间的原因。