Swift-класс для iOS-приложения на SwiftUI, который позволяет добавить скриншот поверх интерфейса для упрощения верстки
- Добавление скриншота поверх интерфейса на любой экран приложения
- Возможность двигать накладываемый скрин по горизонтали и вертикали
- Возможность менять непрозрачность скрина + включать / выключать его
- Возможность прикреплять скрин к любой стороне по вертикали / горизонтали
- Возможность скрывать NavigationBar на экране со скрином
- Возможность менять положение элементов управления по вертикали
❗️ Видео по воможностям Pixel Perfect Screen for SwiftUI - <добавить как сделаю>
-
Добавить на время разработки класс PIXEL_PERFECT_ScreenSui в свой проект
-
Экспортировать изображение экрана, для которого надо наложить скрин из Figma или другого инструмента (желательно это делать в x2-x3 размере, который соответствует Scale Factor'у экрана для которого нарисован макет)
-
Запустить симулятор у которого совпадает разрешение с разрешением под которое рисовался макет
-
Добавть в Assets изображения, которые надо наложить (рекомендую называть их "PIXEL_PERFECT_<ваше название>")
Во вьюхе, которая отвечает за необходимый экран в body добавить:
ZStack {
// код вьюхи
PIXEL_PERFECT_ScreenSui(
imageName: "PIXEL_PERFECT_image", // имя изображения в ассетах
scaleFactor: 3, // Scale Factor для изображения (default = 3)
initialVAttachSide: .top, // к какой стороне крепить изображение по вертикали (default = .top)
// можно для каждого экрана настроить в UI
initialHAttachSide: .leading // к какой стороне крепить изображение по вертикали (default = .leading)
// можно для каждого экрана настроить в UI
)
}
// или
ZStack {
// код вьюхи
PIXEL_PERFECT_ScreenSui(imageName: "PIXEL_PERFECT_image")
}Перед релизом в поиске вбить "PIXEL_PERFECT" и удалить всё что с ним связано
Хотелось сделать инструмент, который позволит без лишних зависимостей добавлять в проект функционал накладывания скрина, которые поможет в верстке макетов и чтобы код PixelPerfectScreenSui ни как не пересекался с кодом проекта (и не мешал его работе)
Также хотелось предусмотреть возможность быстрого удаления этого инструмента из кода, чтобы можно было ввести PIXEL_PERFECT в поиске и найти всё, что надо удалить перед релизом - поэтому имя класса не в CamelCase.
PixelPerfectScreen is released under the MIT license.