Kav*_*gam 3 uiscrollview uikit ios cgrect swift
我在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)
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好但是当我滚动我的滚动视图时,这两个视图都回到了原来的位置.如何解决它.其默认y位置为SelectClientDetailView:400和SelectClientDetailView2:600
如果您使用自动布局,则设置框架将导致一些奇怪的效果.自动布局和框架不会一起使用.您需要重新排列约束,而不是帧.使用自动布局更改帧时会产生一些奇怪的效果,并最终会恢复到您在原始UIView中创建的约束.
一些解决方案
如果您只想更改frameY位置,请尝试改为:
self.SelectClientDetailView.frame.origin.y = 637
self.SelectClientDetailView.frame.origin.y = 837
Run Code Online (Sandbox Code Playgroud)
如前所述,您可能需要检查视图层次结构以确保实际将它们添加到UIScrollView(而不是其他地方).
| 归档时间: |
|
| 查看次数: |
12882 次 |
| 最近记录: |