Подтвердить что ты не робот

Что такое единица измерения в Xcode

Это может показаться глупым, но когда я работаю с размерами в Xcode, общий размер кадра равен 320 * 568 (ширина * высота). Я в порядке с этим. Но разрешение телефона на самом деле другое. Iphone 4S - 640 * 960, а 5 и следующие поколения - 640 * 1136.

Я знаю, что последний из них в два раза больше того, что xcode использует как единицы, поэтому мой вопрос:

Какая единица измерения использует XCode? Если это пиксели, почему бы не использовать номер телефона/разрешение в качестве ссылки?

4b9b3361

Ответ 1

Он использует очки. В устройствах Retina 1 точка равна четырем пикселям. В устройствах без сетчатки 1 балл равен 1 пикселю.

Проверьте яблочную документацию по рисованию и печати на ios. https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//apple_ref/doc/uid/TP40010156-CH14-SW7

Специально раздел "Точки против пикселей"

Изменить Чтобы ответить на ваш iPhone 4S против 5 и вопрос следующего поколения. Это реальные размеры экрана. Разрешения разные. Экраны iPhone 4S и 4 имеют размеры 320x480 точек или 640x960 пикселей. Экраны iPhone 5, 5C и 5S имеют размеры 320x568 точек или 640x1136 пикселей. Если вы работаете с XIB файлами, возможно, вы видите один из предыдущих размеров, потому что XIB файлы имеют определенный размер. Это когда вступают в силу ограничения автоматического макета. Вы указываете в XIB или раскадровке, как вы хотите, чтобы элементы были изменены или перемещены на экране. Вы можете использовать распорки и пружины, чтобы решить, как перемещать элементы в вашем представлении вместо автоматического макета. Все хорошо Даже если ваш xib/storyboard имеет размер iphone5, если вы проверяете размер экрана в ваших методах viewDidAppear при запуске приложения на имитаторе или устройстве iPhone4/4S, вы увидите, что границы вида имеют размер соответствующего устройства. Лучше использовать точки вместо пикселей, потому что это помогает разработчику абстрагироваться от разрешений. Вам не нужно беспокоиться о том, сколько пикселей является точкой, вы просто размещаете элементы в точках на экране и позволяете системе позаботиться о разрешении для вас.

Ответ 2

Xcode 10.1, Swift 4.2 ответ

XCode использует очки. Но в случае следующего объяснения, что такое точка и сколько пикселей в точке → это зависит от того, какое устройство Retina вы используете. В основном на устройствах без сетчатки 1 балл = 1 пиксель. На iphone 6plus и более новых моделях "плюс" яблоко добавило разрешение в 3 раза. enter image description here

На обычных устройствах сетчатки 1 точка = 4 пикселя, а НЕ 2 !! затем яблоко упаковывает эти пиксели в точку. В моделях iPhone plus Apple также использует понижающую дискретизацию с коэффициентом 1,15, что означает, например, что если у вас 1242 * 2208, то его следует разделить на 1,15, и вы получите Full HDD 1080 * 1920 на своем устройстве. https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

enter image description here

Я считаю, что главный ответ, который является:

Он использует очки. В устройствах Retina 1 точка равна двум пикселям. В устройствах без сетчатки 1 балл равен 1 пикселю.

неправильно из-за устаревания. Я предоставил ссылку на developer.apple.com.

https://developer.apple.com/documentation/uikit/uiscreen/1617836-scale

enter image description here