Попробуйте следующее:
import re
def natural_sort(l):
convert = lambda text: int(text) if text.isdigit() else text.lower()
alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ]
return sorted(l, key = alphanum_key)
Выход:
['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
См. его в режиме онлайн: ideone .
Код отсюда: Сортировка для людей: естественный порядок сортировки .
Используйте .listStyle(GroupedListStyle())
, который удаляет любые пустые ячейки, которые могут прибыть ниже.
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
}.listStyle(GroupedListStyle())
Можно добавить, что это, для удаляет разделитель.
UITableView.appearance().separatorColor = .clear
Section
или .grouped
стиль! существует UITableView
позади SwiftUI List
для iOS. Таким образом удалить
Вам нужно tableFooterView
и удалить
Вам нужно separatorStyle
, чтобы быть .none
init() {
// To remove only extra separators below the list:
UITableView.appearance().tableFooterView = UIView()
// To remove all separators including the actual ones:
UITableView.appearance().separatorStyle = .none
}
var body: some View {
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
}
}
Примечание, что оно устраняет все разделители таблиц/списков. Таким образом, можно переключить это в методы как onAppear()
или и т.д. как Вы желаете.