FloatingFilter
SwiftPM Support & configurable filters
アプリモーダルのフローティング ウィンドウに内容を表示し、ユーザーが先に入力することでファジー フィルターを適用できます。そのスタイルは、フローティング Spotlight ウィンドウとほぼ一致します。
このリストではデフォルトのNSTableView
スタイルが使用されているため、Big Sur や古い macOS バージョンでも同様に表示されます。
このモジュールは、可能な限りコンポーネントのメモリを処理するよう努めます。これは、ウィンドウやそのコントローラーへの参照を保持する必要がないことを意味します。アクションが完了すると、両方とも解放されます。
これは、たとえば「最近使用したファイル」などの限られたファイルのコレクションをフィルタリングしたい場合、または既知のマクロのリストを表示したい場合に便利です。
import FloatingFilter
// ...
let items = [
Item ( identifier : UUID ( ) , title : " Create new widget " ) ,
Item ( identifier : 202002200930 , title : " Open last document " ) ,
Item ( identifier : " custom-ID_123 " , title : " Show downloaded data " )
]
FloatingFilterModule . showFilterWindow ( items : items ) { selectedItems in
print ( " Selected: " , selectedItems . map { $0 . title } )
}
これをCartfile
に追加します:
github "cleancocoa/FloatingFilter"
それから実行します
$ carthage update
... Carthage/Build/Mac
のFloatingFilter.framework
アプリに含めます。
著作権 (c) 2020 クリスチャン ティッツェ。 MIT ライセンスに基づいて配布されます。
ファジーマッチングは著作権 (c) 2015 Yichi Zhang https://github.com/yichizhang/SwiftyStringScore です