gpt4 book ai didi

ios - 如何获取 View 的底部边缘?

转载 作者:行者123 更新时间:2023-11-29 00:56:43 25 4
gpt4 key购买 nike

我查看了以下帖子以了解如何获取 View 底部边缘的 y 坐标:How get bottom y coordinate

它说我可以这样做:exampleView.frame.maxY

但是,当我这样做时,我得到 0。这是我的示例:

 override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

let thankYouMessage = UILabel()
self.view.addSubview(thankYouMessage)

thankYouMessage.text = "Thank You for Installing the Keyboard"
thankYouMessage.textAlignment = .Center

thankYouMessage.snp_makeConstraints { (make) -> Void in
make.right.left.top.equalTo(self.view)
make.height.equalTo(self.view.frame.height * 0.2)
}

print(thankYouMessage.frame.maxY)

let enableMessage = UILabel()
self.view.addSubview(enableMessage)
enableMessage.text = "Enable the keyboard here:"
enableMessage.textAlignment = .Center
enableMessage.backgroundColor = UIColor.blackColor()

enableMessage.snp_makeConstraints { (make) -> Void in
make.left.equalTo(self.view)
make.top.equalTo(self.view).offset(50)
make.width.equalTo(self.view.frame.width * 0.3)
make.height.equalTo(self.view.frame.height * 0.1)
}




}

print(thankYouMessage.frame.maxY) 返回 0。

我不知道这是为什么。我需要对第一个 View 执行某种初始化过程吗?

最佳答案

在布局过程运行之前, View 的框架不会根据其约束和/或其内在内容大小进行更新。最早可以在 View Controller 中获取 View 的屏幕框架是在 viewDidLayoutSubviews 方法中。

您可以在请求其框架之前在 View 上调用 layoutIfNeededsizeToFit ,但根据具体情况,如果在 viewDidLoad.

关于ios - 如何获取 View 的底部边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557679/

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