Closed3
swiftUIのListを見てみる

ListってAndroidにはないやつなので少し見てみる

List {
Text("りんご")
Text("みかん")
Text("メロン")
}
こういうコードを書くと以下のようなUIが作れる。
HIGにもListというのが定義されている。
テーブルやリストは、グループや階層で編成されたデータを表すことができ、選択、追加、削除、並び替えなどのユーザーインタラクションをサポートすることができます。 すべてのプラットフォームのアプリとゲームは、コンテンツとオプションを表示するためにテーブルを使用できます。多くのアプリは、全体的な情報階層を表現し、人々がそれをナビゲートするのを助けるためにリストを使用します。 例えば、iOSの「設定」は、リストの階層を使用して、ユーザーがオプションを選択できるようにしています。また、iPadOSやmacOSの「メール」など、いくつかのアプリは、スプリットビュー内でテーブルを使用しています。
Listには追加・選択・削除・並び替え等のユーザ操作がサポートされているらしい。

Listの中でDynamicViewContentを生成し、DynamicViewContentでonDelete, onMove, onInsertを定義すると動く。
色んなブログとかから拝借したコード。
並び替え移動できるし、スワイプで削除できるし、Dragで追加もできる。
VStack {
NavigationView {
List {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
.onDelete(perform: deleteFruits)
.onMove(perform: {_, _ in })
.onInsert(of: [UTType.plainText], perform: { index, items in
fruits.insert("new", at: index)
})
}
.toolbar {
EditButton()
}
}
Text("DragMe")
.onDrag {
return NSItemProvider(item: "DragMe" as NSString, typeIdentifier: UTType.plainText.identifier)
}
}
このスクラップは2024/08/23にクローズされました