我在scrollview中有两个子视图。我需要以编程方式定位两个子视图。我通过在DispatchQueue.main.async
内编写代码来正确地做到了。这是代码:
DispatchQueue.main.async
{
self.SelectClientDetailView.frame = CGRect(x: 0, y: 637, width: self.SelectClientDetailView.frame.size.width, height: self.SelectClientDetailView.frame.size.height)
self.SelectClientDetailView2.frame = CGRect(x: 0, y: 837, width: self.SelectClientDetailView2.frame.size.width, height: self.SelectClientDetailView2.frame.size.height)
}
它的工作正常,但是当我滚动滚动视图时,这两个视图都回到了原来的位置。如何解决。其默认
y
位置将为SelectClientDetailView
:400和SelectClientDetailView2
:600 最佳答案
如果只想更改frame
Y的位置,请尝试以下方法:
self.SelectClientDetailView.frame.origin.y = 637
self.SelectClientDetailView.frame.origin.y = 837
如前所述,您可能需要检查视图层次结构,以确保将其实际添加到
UIScrollView
中(而不是其他位置)。