Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : point, pixel, screen, scale

Как связаны точки (points) и пиксели (pixels) на экране? Как рассчитать масштаб (scale) устройства?

Вопрос проверяет понимание ретины и отображения графики с учётом различий в плотности дисплеев.

Короткий ответ

Points — логические единицы интерфейса, а pixels — физические точки на экране. Масштаб (scale) определяет, сколько пикселей приходится на один point. Получить его можно через UIScreen.main.scale, обычно 1×, 2× или 3×.

Длинный ответ

Определение:

  • 1 point = scale физических пикселей.

  • На Retina экранах scale = 2 или 3.

Получение значения:

let scale = UIScreen.main.scale
print("Scale: \(scale)x")

Пример:

  • На iPhone 8: bounds.size = 375×667 pt, pixels = 750×1334 px (scale = 2).

  • На iPhone 12 Pro: 390×844 pt, 1170×2532 px (scale = 3).

Использование:

  • При рендеринге кастомных CALayer или Core Graphics.

  • Для расчёта толщин, размеров изображений (@2x, @3x).

Вывод:
Разделение на points и pixels упрощает адаптацию интерфейса под разные плотности, а свойство scale позволяет корректно рассчитывать размеры в пикселях.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

Ключевые слова

#point

#pixel

#screen

#scale

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.