IOS swift View.frame.width 错误

Posted

技术标签:

【中文标题】IOS swift View.frame.width 错误【英文标题】:IOS swift View.frame.width is wrong 【发布时间】:2016-03-18 22:59:16 【问题描述】:

您好,我尝试获取 UIView 元素的宽度。

我在 Iphone 4s 模拟器上对其进行了测试。

我在主屏幕上有一个 UIView 元素。 Wich 在屏幕左右两侧各有 20 个偏移量。

当我打电话时

UIScreen.mainScreen().bounds.width = 320

但是

viewGame.frame.width = 240

但是 viewGame 的宽度应该是 260 那么我如何获得真正的帧宽度呢?

编辑:我正在使用自动布局来对齐视图

【问题讨论】:

您是否将视图与边距对齐?这可以解释差异。 【参考方案1】:

抱歉打扰了。就在发布这个问题后,我找到了解决方案in this post

问题是我在视图控制器的 viewDidLoad() 函数中调用了我的函数。但此时布局还没有安排好。 现在我在 viewDidAppear() 函数中调用我的函数,一切正常

【讨论】:

看看 viewDidLayoutSubviews :) 我做到了,但由于某种原因它被多次调用,所以我宁愿坚持 viewDidAppear() 希望它总是只被调用一次 是的,如果您正在修改函数中的视图,我希望再次调用 viewDidLayoutSubviews()。很高兴你解决了! 你是救生员!谢谢 所以基本上最初它具有基于您当前在情节提要中选择的设备的恒定大小,这非常难看...***.com/questions/55667820/…

以上是关于IOS swift View.frame.width 错误的主要内容,如果未能解决你的问题,请参考以下文章

ios OC、swift混编制作framework

iOS-swift-基础篇1

iOS开发中OC和swift的对比

iOS开发系列--Swift 3.0

iOS:面向 iOS 9 时使用 Swift 4

swift 2016年 - iOS / PlayerViewController.swift