Как добавить отступы на сегменты формы в SwiftUI - PullRequest
1 голос
/ 09 октября 2019

В iOS 13 некоторые нативные приложения Apple используют стиль списка, который я пытаюсь воссоздать. В основном это List в Form, содержащем Section с и некоторые записи.

Единственное отличие состоит в том, что каждый Section имеет отступы с левой и правой стороны и угловой радиус по краям.

Вот пример из приложения Home, что я хотел быдля достижения (также используется на вкладке «Таймер» в приложении «Часы»):

iOS 13 Home app

Применение модификатора .padding() к Form не делаетт работа.

struct ContentView: View {
   var body: some View {
      Form {
         Section {
            Text("foo")
            Text("bar")
         }
         Section {
            Text("foo")
         }
         Section {
            Text("bar")
         }
      }
   }
}

Мне интересно, возможно ли это вообще в SwiftUI или это просто какая-то настройка UIKit на UITableViewCell.

1 Ответ

1 голос
/ 09 октября 2019

Это новый UITableView.Style называется .insetGrouped. Это документация

Вы можете установить его с помощью кода:

let tableView = UITableView(frame: frame, style: .insetGrouped)

Или с помощью построителя интерфейса:

Ki

SwiftUI не имеет этого стиля (пока) , но в будущем это должен быть ListStyle, который можно использовать с модификатором .listStyle в списке. В настоящее время доступны стили:

.listStyle(DefaultListStyle()) // wich is PlainListStyle
.listStyle(PlainListStyle())
.listStyle(GroupedListStyle())
// .listStyle(InsetGroupedListStyle()) // unresolved (yet)
...