Ticket #39797

iOS版 ファイル検索機能追加

Eröffnet am: 2019-11-28 01:16 Letztes Update: 2019-11-30 11:19

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine

Details

ファイル一覧ビューに検索バーを追加して、ファイルを検索できるようにする。

制限事項

  • 検索中はナビゲーションバーに表示している"Edit"ボタンを非表示とする。

Ticket-Verlauf (3/5 Historien)

2019-11-28 01:16 Aktualisiert von: yknk
  • New Ticket "iOS版 ファイル検索機能追加" created
2019-11-30 11:18 Aktualisiert von: yknk
Kommentar

対策1:検索バーと検索結果表示ビューの追加

MTFileSearchResultsViewCtrl

ファイル検索結果ビュー制御クラスを追加。 検索バー操作しているときにナビゲーションバーのボタンを消す処理を実現するため、本クラスを追加した。

MTFileSearchController

ファイル検索制御クラスを追加。

MTFileViewCtrl

検索文字列の更新通知を受け取るため、クラスにプロトコル UISearchResultsUpdating を追加。 メンバにファイル検索制御 m_pSearchController を追加。 メンバに検索結果ビュー制御 m_pFileSearchResultsViewCtrl を追加。

MTFileViewCtrl::viewDidLoad

検索バー初期化処理の呼び出しを追加。

MTFileViewCtrl::setupSearchBar

検索バー初期化メソッドを追加。 iOS11以降は検索バーをナビゲーションバーに組み込む。 iOS11未満は検索バーをテーブルヘッダに登録する。

MTFileViewCtrl::selectedFilePath

検索結果ビューでファイルを選択されたときを想定して、 検索中は検索結果ビューから選択行ファイルパス取得する処理を追加。

MTFileViewCtrl::updateSearchResultsForSearchController

検索文字列更新通知を受け取るメソッドを追加する。 ファイル一覧から検索文字列で部分一致するファイルを抽出して、検索結果ビューに登録する。

2019-11-30 11:19 Aktualisiert von: yknk
Kommentar

対策2:ナビゲーションバーのデザイン修正

検索バーをナビゲーションバーに組み込んだことにより、テーブルビューの操作に応じてナビゲーションバーが 意図しない色に変わる現象が発生した。ナビゲーションバーのデザインを標準にすることで回避する。 ナビゲーションバーを設定を細かく指定することにより、これまでのスタイル(Black)を 維持できるかもしれないが、試行錯誤する時間が取れないため、問題の発生しにくい標準設定に変更する。

MIDITrailApp::createViews

ナビゲーションバーのスタイル設定(UIBarStyleBlack)を削除。

MIDITrailApp::closeMainView

メインビュー消去時のナビゲーションバー再表示処理を削除。

MTNavCtrl::viewDidLoad

ビュー登録完了メソッドを追加。 iOS13で導入されたナビゲーションバーの表示設定を追加。

2019-11-30 11:19 Aktualisiert von: yknk
Kommentar

対策3:リファクタリング

MTFileViewCtrl::viewWillAppear

superの呼び出しを実施していなかたため追加する。

MTFileViewCtrl::viewWillDisappear

superの呼び出しを実施していなかたため追加する。

MTFileViewCtrl::tableView:numberOfRowsInSection

コメントを改善。

2019-11-30 11:19 Aktualisiert von: yknk
  • Lösung Update from Keine to Gefixt
  • Status Update from Offen to Geschlossen

Dateianhangliste

Keine Anhänge

Bearbeiten

Please login to add comment to this ticket » Anmelden