Я хочу достичь конкретного дизайна с 7 картинками. 7 изображений состоят из 5 квадратов (оригинал 800x800px) и 2 прямоугольника (оригинал 400x200px). Конечная цель должна выглядеть как этот пример:
Это должно быть 3 ряда изображений, строка 1 состоит из 3 квадратов, где на трети ряда, в ряду 2 есть прямоугольник и квадрат, а последняя строка просто имеет один прямоугольник Полем Проблема, с которой я сталкиваюсь, заключается в том, что когда я добавляю представление к родителям, я получаю этот результат:
Чтобы достичь этого макета, я попытался использовать комбинацию Vstacks и Hstack и попытался вычислять ширину изображений, используя около 1/3 Просмотр с помощью GeometryReader. < /p>
import SwiftUI
struct OverviewTiles: View {
var body: some View {
// TODO: There will be different designs so be sure to look out for that
GeometryReader { geo in
let size = geo.size.width * 0.66
VStack(spacing: 16) {
HStack(spacing: 16) {
Image("tiles_square")
.resizable()
.scaledToFit()
.frame(width: size)
VStack(spacing: 16) {
Image("tiles_square")
.resizable()
.scaledToFit()
Image("tiles_square")
.resizable()
.scaledToFit()
}
}
HStack(spacing: 16) {
Image("tiles_landscape")
.resizable()
.scaledToFit()
.frame(width: size)
Image("tiles_square")
.resizable()
.scaledToFit()
}
Image("tiles_landscape")
.resizable()
.scaledToFit()
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
}
< /code>
Сам представление создается в Scrollview. Я относительно новичок в Swiftui, и я хотел бы знать, является ли это даже правильным подходом. В конечном счете, мне нравится, когда этот элемент отреагирует правильно на изменения ориентации, хотя, возможно, порядок изображений должен быть изменен тогда. Итак, использует ли GeometryReader правильным способом или есть лучшие способы достичь этого?
Большое спасибо, за помощь.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ew-size-in
Как сгруппировать набор изображений определенным образом, используя текущий размер представления в Swiftui ⇐ IOS
Программируем под IOS
1738004358
Anonymous
Я хочу достичь конкретного дизайна с 7 картинками. 7 изображений состоят из 5 квадратов (оригинал 800x800px) и 2 прямоугольника (оригинал 400x200px). Конечная цель должна выглядеть как этот пример:
Это должно быть 3 ряда изображений, строка 1 состоит из 3 квадратов, где на трети ряда, в ряду 2 есть прямоугольник и квадрат, а последняя строка просто имеет один прямоугольник Полем Проблема, с которой я сталкиваюсь, заключается в том, что когда я добавляю представление к родителям, я получаю этот результат:
Чтобы достичь этого макета, я попытался использовать комбинацию Vstacks и Hstack и попытался вычислять ширину изображений, используя около 1/3 Просмотр с помощью GeometryReader. < /p>
import SwiftUI
struct OverviewTiles: View {
var body: some View {
// TODO: There will be different designs so be sure to look out for that
GeometryReader { geo in
let size = geo.size.width * 0.66
VStack(spacing: 16) {
HStack(spacing: 16) {
Image("tiles_square")
.resizable()
.scaledToFit()
.frame(width: size)
VStack(spacing: 16) {
Image("tiles_square")
.resizable()
.scaledToFit()
Image("tiles_square")
.resizable()
.scaledToFit()
}
}
HStack(spacing: 16) {
Image("tiles_landscape")
.resizable()
.scaledToFit()
.frame(width: size)
Image("tiles_square")
.resizable()
.scaledToFit()
}
Image("tiles_landscape")
.resizable()
.scaledToFit()
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
}
< /code>
Сам представление создается в Scrollview. Я относительно новичок в Swiftui, и я хотел бы знать, является ли это даже правильным подходом. В конечном счете, мне нравится, когда этот элемент отреагирует правильно на изменения ориентации, хотя, возможно, порядок изображений должен быть изменен тогда. Итак, использует ли GeometryReader правильным способом или есть лучшие способы достичь этого?
Большое спасибо, за помощь.
Подробнее здесь: [url]https://stackoverflow.com/questions/79389983/how-to-group-a-set-of-pictures-in-a-specific-way-using-the-current-view-size-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия