SwiftUIのListサンプル集(操作編)

botman_blue iOS

Xcode-12.5.1 Swift-5.4.2 iOS-14.0

はじめに

SwiftUIのListサンプル集(見た目編)の操作編です。

主に下記の記事で書いていたことの SwiftUI の List 版についてです。

ソース(GitHub)

複数選択1 複数選択2 一部選択服 セル編集
multi_selection1 multi_selection2 unselectable edit
メニュー 単一選択1 単一選択2
menu single_selection1 single_selection2
アコーディオン スクロール
accordion scroll

複数選択

セルの複数選択処理です。

パターン1

こんな感じ。

Listselection は使わずにボタンを用意してチェックマークを出し分ける方法です。

パターン2

こんな感じ。

Listselection を使う方法です。編集モードにする必要があります。

一部のセル選択不可

こんな感じ。

セルの編集

こんな感じ。

削除

編集モードにする必要がある。

下記を使う。

移動

編集モードにする必要がある。

下記を使う。

移動先を不可にするのはできなさそう?

追加

UITableViewCell.EditingStyle.insert 相当のやつはなさそう?

下記のようにするとそれっぽい緑の追加ボタンを表示できる。ただ編集モードのときのインデントがあわない。。。

ロングタップでメニュー表示

こんな感じ。

deprecated らしい。。。
contextMenu(_:)

インデックスバー

List にはないようです。

こんな感じで自作するしかないのかも?

SwiftUI List with Section Index on right hand side?

スワイプ

iOS 15 からは下記でできそう。

swipeActions(edge:allowsFullSwipe:content:)

アコーディオン

UITableView の場合は自作で頑張らないといけなかったけどサクッとできる模様。

こんな感じ。

多階層もらくらく。

単一選択

パターン1

こんな感じ。

Listselection を使わずにボタンを使う方法です。

パターン2

こんな感じ。

Listselection を使う方法です。編集モードにする必要があります。

指定場所にスクロール

こんな感じ。

UITableViewscrollToRow のようなものが List にはないのでちょっとゴニョゴニョする必要がある模様。

おわりに

これでわりと List を使えるようになったんじゃないかと思います。一覧表示ができるようになればだいたいのアプリをつくれるようになったといっても過言じゃない!!!

参考

コメント

タイトルとURLをコピーしました