#swift #swiftui #scrollview #ios15 #swiftui-foreach
Вопрос:
Не знаю, как вы, ребята, но когда я открыл свой проект сегодня (впервые с тех пор, как Swift перешел на iOS 15 по умолчанию), мой пользовательский интерфейс выглядел совершенно по-другому. Самое главное, что ранее соседние представления внутри каждого теперь имеют некоторое отступление между ними.
Как мы можем это устранить? Я включил несколько примеров кода, но я надеюсь, что мы сможем найти решение, которое можно обобщить. Фактическая проблема в моем пользовательском интерфейсе имеет слишком много движущихся частей, чтобы включать их сюда.
struct IntItem: Identifiable {
let num: Int
let id = UUID()
}
struct ItemView: View {
var item: IntItem
var body: some View {
Text(String(item.num))
.padding(10)
.border(Color.black)
}
}
struct ContentView: View {
let array: [IntItem]
var body: some View {
ScrollView {
ScrollViewReader { thing in
ForEach(array) { item in
ItemView(item: item)
}
}
}
}
}
let content = ContentView(array: [IntItem(num: 0), IntItem(num: 1), IntItem(num: 2), IntItem(num: 3)])
Комментарии:
1. в
ItemView
вы могли бы попробовать.padding(.horizontal, 10)
2. Разве это не было бы вертикальным? И я бы предпочел, чтобы границы соприкасались без дополнительной прокладки изнутри по эстетическим соображениям.
3. другими словами, вы еще не пробовали этого.
4. ?? Я попробовал, и это ничего не изменило
5. протестировано на реальных устройствах, macos 12.бета-версия, xcode 13.бета-версия(не выпущена), предназначена для ios 15 и macCatalyst 12. Какую систему вы используете и на что ориентируетесь?
Ответ №1:
Хорошо, вот что сработало-использование вертикального заполнения отрицательного числа (в моем случае 4) на каждом отдельном представлении. Я все еще хотел бы получить разъяснения о том, почему это изменилось с iOS 15.
Комментарии:
1. Меня интересует ваше решение, не могли бы вы отредактировать свой вопрос с помощью кода, который вы использовали, чтобы «заставить его работать».
2. как я и думал