UIScreen.main.bounds 返回不正确的尺寸
UIScreen.main.bounds returning incorrect size
UIScreen.main.bounds.width 和 UIScreen.main.bounds.height 都是错误的。它返回 414x736,但应该约为 360x640。
设备:iPhone 8 Plus。
这取决于你什么时候调用函数。
必须在View完全出现后调用
override func viewDidLoad() { // Or viewDidAppear()
{
let frame = self.view.bounds; // or UIScreen.main.bounds also works
}
如果在 viewWillAppear 上调用该函数,您将获得不同的值。
iPhone [Any]
由于屏幕没有足够的像素来显示 @3x 直到 iPhone X 到达,加上本机渲染分辨率被下采样 ÷1.15。
屏幕分辨率为 360x640 物理点,但屏幕渲染为 414x736 软件点。这只发生在 Plus
型号上。
414 ÷ 1.15 = 360
736 ÷ 1.15 = 640
看看这个:https://www.paintcodeapp.com/news/iphone-6-screens-demystified
UIScreen.main.bounds.width 和 UIScreen.main.bounds.height 都是错误的。它返回 414x736,但应该约为 360x640。 设备:iPhone 8 Plus。
这取决于你什么时候调用函数。
必须在View完全出现后调用
override func viewDidLoad() { // Or viewDidAppear()
{
let frame = self.view.bounds; // or UIScreen.main.bounds also works
}
如果在 viewWillAppear 上调用该函数,您将获得不同的值。
iPhone [Any]
由于屏幕没有足够的像素来显示 @3x 直到 iPhone X 到达,加上本机渲染分辨率被下采样 ÷1.15。
屏幕分辨率为 360x640 物理点,但屏幕渲染为 414x736 软件点。这只发生在 Plus
型号上。
414 ÷ 1.15 = 360
736 ÷ 1.15 = 640
看看这个:https://www.paintcodeapp.com/news/iphone-6-screens-demystified