OSDN Ticket Archive


Ticket #39797

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

登録: 2019-11-28 01:16 最終更新: 2019-11-30 11:19

報告者:
yknk
担当者:
yknk
チケットの種類:
機能リクエスト
状況:
完了
コンポーネント:
MIDITrail Ver.1.3.x for iOS
マイルストーン:
Version 1.3.1 for iOS (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

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

制限事項

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

チケットの履歴

2019-11-28 01:16 更新者: yknk
  • 新しいチケット "iOS版 ファイル検索機能追加" が作成されました
2019-11-30 11:18 更新者: yknk
コメント

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

MTFileSearchResultsViewCtrl

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

MTFileSearchController

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

MTFileViewCtrl

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

MTFileViewCtrl::viewDidLoad

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

MTFileViewCtrl::setupSearchBar

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

MTFileViewCtrl::selectedFilePath

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

MTFileViewCtrl::updateSearchResultsForSearchController

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

2019-11-30 11:19 更新者: yknk
コメント

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

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

MIDITrailApp::createViews

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

MIDITrailApp::closeMainView

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

MTNavCtrl::viewDidLoad

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

2019-11-30 11:19 更新者: yknk
コメント

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

MTFileViewCtrl::viewWillAppear

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

MTFileViewCtrl::viewWillDisappear

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

MTFileViewCtrl::tableView:numberOfRowsInSection

コメントを改善。

2019-11-30 11:19 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません