Отображайте элементы в модальном плавающем окне приложения, которое пользователи могут фильтровать, вводя вперед. Его стиль примерно соответствует плавающему окну 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
... и включите FloatingFilter.framework
из Carthage/Build/Mac
в свое приложение.
Copyright (c) 2020 Кристиан Титце. Распространяется по лицензии MIT.
Авторское право на нечеткое сопоставление (c) 2015 принадлежит Ичи Чжану https://github.com/yichizhang/SwiftyStringScore.