Существует два различных понятия: Размер UIKit и Собственное разрешение .
Размер UIKit представлен точками и используется при позиционировании видов внутри вашего проекта. Допустим, ваш экран имеет размер 414x896 точек, и вы центрируете свой вид в положение [207,448], ваш взгляд будет в центре экрана.
Собственное разрешение представлено пикселей , и оно показывает, сколько пикселей имеет экран устройства. Вы можете получить собственное разрешение устройства, умножив размер UIKit на Коэффициент собственной шкалы , который индивидуален для каждого устройства.
Я создал таблицу для этих размеров, коэффициентов масштабирования и разрешения для всех iPhone, которые поддерживают iOS 12
iPhone | UIKit size (points) | Native resolution (pixels) | Native Scale factor
-------------|---------------------|----------------------------|--------------------
Xs Max | 414x896 | 1242x2688 | 3
X, Xs | 375x812 | 1125x2436 | 3
Xr | 414x896 | 828x1792 | 2
6+,6s+,7+,8+ | 414x736 | 1080x1920 | 2.608
6,6s,7,8 | 375x667 | 750x1334 | 2
5s,SE | 320x568 | 640x1136 | 2
... из этой таблицы видно, что ваш iPhone Xr имеет размер UIKit 414x896 , а не 375x812 , как вы написали в своем вопросе.
Вы можете получить размер UIKit устройства, установив границы экрана
UIScreen.main.bounds
и собственное разрешение, получая собственные границы
UIScreen.main.nativeBounds
... каждый из них хорошо работает для iPhone Xr, поэтому проверьте еще раз, выполняете ли вы свой код на iPhone Xr, а не на iPhone Xs / X, который имеет размер UIKit 375x812 . Кроме того, 750x1624 - это просто странная шкала родного разрешения Xr, поэтому проверьте, не занимаетесь ли вы дополнительной математикой.