gpt4 book ai didi

ios - swift + UIView : How to change y coordinates?

转载 作者:行者123 更新时间:2023-11-28 10:21:06 32 4
gpt4 key购买 nike

我有一个名为 descriptionView 的 UIView,我想在屏幕首次加载时隐藏它,方法是将 y 坐标偏移为屏幕大小 + descriptionView 的高度本身:

enter image description here

但是,在我的 Controller 中,我的框架更改都没有做任何事情:

  override func viewDidLoad() {
super.viewDidLoad()
...
// descriptionView.frame.origin.y = self.view.frame.height
// UIView.animateWithDuration(1, animations: {
// self.descriptionView.frame.origin.y = self.view.frame.height
// self.view.layoutIfNeeded()
// })
//
print("xxx")
descriptionView.frame = CGRectMake(0, self.view.frame.height, self.view.frame.width, 66)
// descriptionView.frame = CGRectOffset(descriptionView.frame, 0, descriptionView.frame.height)
}

无论我做什么,它似乎都固定在我的 Storyboard 中的可见位置。有人可以帮忙吗?

最佳答案

IB 中,您使用的是 NSAutoLayout,因此您要么需要操纵约束,要么告诉 View 将掩码转换为约束。

如果你想直接设置框架那么你会想要这样做:

descriptionView.translatesAutoresizingMaskIntoConstraints = true
descriptionView.frame = CGRectMake(...)

否则,您可以创建 IBOutlets 到来自 IB 的 heightwidth 约束并更新它们:

self.descriptionViewHeight.constant = self.view.frame.width

此外,我建议在 viewWillAppear: 而不是 viewDidLoad 中进行帧操作。 viewDidLoad 不严格保证最终位置。

关于ios - swift + UIView : How to change y coordinates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887787/

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