gpt4 book ai didi

ios - 如何使用 Swift 正确定位 UIView?

转载 作者:行者123 更新时间:2023-11-30 11:49:44 26 4
gpt4 key购买 nike

我阅读了很多与我的问题类似的问题的答案。但仍然无法弄清楚我遇到的这个问题。

我正在另一个 UIView 之上添加 UIView。

    @IBOutlet weak var contentView: UIView!

以下是我在 contentView 之上添加另一个 View 的方法。

 func showPopupView(){
popupView.bounds.size.width = contentView.bounds.size.width
popupView.bounds.size.height = self.view.frame.height - 99
popupView.frame.origin.y = contentView.frame.origin.y + 50
popupView.center.x = contentView.center.x
view.addSubview(popupView)
}

我将 99 计算为 49 + 50。49 是 TabBar 的高度,50 是顶部 View 的高度。

但是,弹出 View 并未在所有模拟器尺寸上按预期显示。它在 iPhone SE 上按预期显示,但在 iPhone 6、iPhone 6s 或 iPhone X 上存在差距。

我应该如何将弹出 View 放置在 super View (self.view)上?

最佳答案

我终于成功地通过下面的代码在所有设备类型上正确定位了我的 popupView。

func showPopupView(){
let statusBarHeight = self.view.safeAreaInsets.top
showPopupView.frame.size.width = contentView.frame.size.width
showPopupView.frame.size.height = contentView.frame.height
showPopupView.frame.origin.y = contentView.frame.origin.y + statusBarHeight
showPopupView.center.x = contentView.center.x
view.addSubview(showPopupView)
}

通过此代码,popupView 获取contentView 的高度和宽度。考虑到 statusBarHeight,将其自身定位在当前 View 的顶部。

关于ios - 如何使用 Swift 正确定位 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465203/

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