gpt4 book ai didi

ios - 以编程方式移动按钮不起作用 - Swift

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:27 25 4
gpt4 key购买 nike

我在以编程方式移动按钮时遇到问题。

我在 viewDidLoad 中使用这段代码,我没有使用自动布局:

    button.frame.origin = CGPoint(x: 0, y: 0)

但按钮在运行时仍保留在屏幕上的原始位置。

奇怪的是,坐标实际上正在更新,但没有显示在屏幕上。

如果我运行以下代码:

    print(button.frame.origin.x)  // prints 45.0
button.frame.origin = CGPoint(x: 0, y: 0)
print(button.frame.origin.x) // prints 0.0

但在屏幕上按钮仍保持在 45。

我做错了什么?

最佳答案

viewDidAppear 方法中更改您的按钮位置,它会在运行时更改它的位置,您的代码将是:

override func viewDidAppear(animated: Bool) {

button.frame.origin = CGPoint(x: 0, y: 0)
}

来自这篇文章:Difference between viewDidLoad and viewDidAppear

viewDidLoad 仅在 View Controller 首次加载到内存时被调用一次。这是您想要实例化任何实例变量并构建在该 View Controller 的整个生命周期内存在的任何 View 的地方。但是,此时 View 通常还不可见。

viewDidAppear 在 View 实际可见时被调用,并且可以在 View Controller 的生命周期中多次调用(例如,当模态视图 Controller 被关闭并且 View 再次变得可见时).这是您想要执行任何布局操作或在 UI 中进行任何绘图的地方 - 例如,呈现模态视图 Controller 。

关于ios - 以编程方式移动按钮不起作用 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32752999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com