gpt4 book ai didi

ios - Xcode 7 Swift 2 对象大小在运行时不同

转载 作者:行者123 更新时间:2023-11-29 01:03:51 25 4
gpt4 key购买 nike

有人可以帮我解决我的问题吗?

我有一个 View Controller 。我刚刚添加了一个“View”对象,并将“View”对象的宽度设置为当前在运行时和设计尺寸下显示为 320 (iPhone 4s) 的屏幕宽度。但是,当我在运行时检查“View”对象的宽度时,它显示 240。设计模式下“View”对象的宽度属性显示 320。我希望我的“View”对象自动调整到屏幕宽度取决于所使用的 iPhone。例如,如果我在 iPhone 6 上模拟此操作,屏幕宽度为 375,但“ View ”仍然显示 240。高度也是如此。

高度也一样。在设计模式下,高度显示为 284,但在运行时,高度显示为 128。

我在“View”对象内有一个尺寸为 80 x 80 的按钮,但在运行时,它显示的尺寸为 46 x 30。

这是我的“查看”设置:

View Object Height Constraints

View Object Vertical Constraints

我获取“ View ”宽度的代码如下:

   @IBOutlet weak var gameSpace: UIView!
var gsWidth: CGFloat = 0
var gsHeight: CGFloat = 0

let gsSize: CGRect = gameSpace.bounds
gsWidth = gsSize.width
gsHeight = gsSize.height

对于按钮...

    @IBOutlet weak var tapBtn: UIButton!
let buttonSize: CGRect = tapBtn.bounds
tapBtnWidth = buttonSize.width
tapBtnHeight = buttonSize.height

我们将非常感谢您的帮助/建议。提前谢谢你。

最佳答案

实际上可能存在的情况是,您在自动布局发挥作用之前分配了与维度相关的属性,然后继续使用错误的值。

如果您需要更新一些依赖于自动布局的值 - 最好在此处执行此操作:

override func viewDidLayoutSubviews() {
// Update your values there
}

当自动布局引擎完成他的所有工作时。另请记住,在 View 生命周期中可能会多次调用此函数。

关于ios - Xcode 7 Swift 2 对象大小在运行时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664020/

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