gpt4 book ai didi

iOS Swift Scrollview以编程方式设置框架位置

转载 作者:行者123 更新时间:2023-12-01 19:54:28 25 4
gpt4 key购买 nike

我的应用程序中有 ScrollView 。默认 y我的 ScrollView 的位置是 80 .在某些地方我需要搬家y我的 ScrollView 的位置到 0 .这是代码

@IBOutlet weak var ScrollView: UIScrollView!
override func viewDidLoad()
{
super.viewDidLoad()
self.ScrollView.delegate = self
if(Position == "changed")
{
self.ScrollView.frame = CGRect(x: 0, y: 0, width: self.ScrollView.frame.size.width, height: self.ScrollView.frame.size.height)
}
else
{
self.ScrollView.frame = CGRect(x: 0, y: 80, width: self.ScrollView.frame.size.width, height: self.ScrollView.frame.size.height)
}
}

但是这段代码不起作用。

最佳答案

问题很简单,你的 VC.view 没有在 Viewdidload 中更新,所以在这里你需要在 Viewdidappear 上移动 UI 更新或在主线程中更新 UI

默认情况下您的 self.ScrollView.frame开始于 O 位置,所以只检查 !=

override func viewDidLoad()
{
super.viewDidLoad()
self.ScrollView.delegate = self
//self.ScrollView.frame = CGRect(x: 0, y: 0, width: self.ScrollView.frame.size.width, height: self.ScrollView.frame.size.height)
if(Position != "changed")
{
DispatchQueue.main.async {
self.ScrollView.frame = CGRect(x: 0, y: 80, width: self.ScrollView.frame.size.width, height: self.ScrollView.frame.size.height)
}

}

}

关于iOS Swift Scrollview以编程方式设置框架位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43515087/

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