【发布时间】:2017-05-10 20:10:36
【问题描述】:
我正在尝试使用此代码通过viewDidLoad 在应用程序启动时更改单独的View 的位置:
let xPosition = dynView.frame.origin.x - 100
//View will slide view
let yPosition = dynView.frame.origin.y;
let height = dynView.frame.size.height
let width = dynView.frame.size.width
UIView.animate(withDuration: 1.0, animations: {
self.dynView.frame = CGRect(x: xPosition, y: yPosition, width: width, height: height)
})
但是,这似乎不能直接在 viewDidLoad 中工作,如果我使用 @IBAction 分配给按钮,则代码可以工作
我猜我在这里遗漏了一些东西,但我不知道是什么。
【问题讨论】:
-
你使用约束吗?
-
是的,我愿意。我假设这与它有关?约束是在 viewDidLoad 之后加载的吗?
-
aha,你明白了 :) 顺便说一句,通过更改负责的约束常量值来更改视图的 y 位置的正确方法。
-
放入
viewDidAppear()。