Viewの構成 - Cizzuk/CSE GitHub Wiki
CSEはSwiftUIでGUI部分を開発しています。おおまかに7つのシーンがあります。
MainView
アプリの起動時に最初に表示される画面です。ひとつのViewで構成されています。
EditSEView
カスタム検索エンジンの編集画面です。
@Bindingで以下のデータを受け付けます。
- cseType: String型、
defaultCSE, privateCSE, quickCSE
のどれか - cseID: String?型、Quick Search Engineの場合、そのID(キーワード)
以下のViewもあります。
- EditSEViewPostData: POSTデータを追加、編集、削除する画面です。
- EditSEViewRecommend: 初期設定でも表示される「おすすめの検索エンジン」のリストを表示します。EditSEViewのCSEDataを上書きします。
- EditSEViewCloudImport: iCloud上のデバイスから特定のカスタム検索エンジンをコピーするためのViewです。EditSEViewのCSEDataを上書きします。
QuickSEListView
Quick Search Engineのリストを表示します。
追加、削除、EditSEViewで開いて編集もします。
Tutorial
Sheetです。CSEを初めて開いた時にユーザーのセットアップを助けるためのシーンです。
以下の5つのViewからなります。
- FullTutorialView: 「ようこそ」のあいさつと、今から始まるチュートリアルの内容をリストで表示します。ここでスキップすることもできます。
- SafariTutorialView: Safariの設定をユーザーに入力してもらうためのView。
- SafariTutorialSecondView: ユーザーに拡張機能のアクセス許可をしてもらうためのView。
- SafariTutorialRecommendSEView: よく利用される検索エンジンを表示して選択をするView。スキップも可能。
- SafariTutorialImportView: iCloud上のデバイスから設定を全てインポートする場合に使用するView。
これらのViewのうち、SafariTutorialView, SafariTutorialSecondViewは、MainViewのボタンを押すと再表示することができます。
LicenseView
ライセンス表示。
IconChangeView
iOS, iPadOS専用。
以前一部の地域で販売していたアイコンを変更する機能のためのViewです。
現在、Issue#24により、全ての地域で購入が無効化されているので、購入の復元とアイコンの変更のみが可能です。
AdvSettingView
「高度な設定」用のView。