乾淨閃亮的搜尋欄可以完成 UISearchBar 所做的事情,但只有骯髒的駭客手段。該視圖旨在解決 UISearchBar 的自訂限制。這裡的差別在於,這個類別沒有繼承UISearchBar,而是使用一個比較容易使用的UITextField來組成一個新的UIView物件。這些是 UISearchBar 的限制:
由於我使用 UITextField,這些限制不適用。
在 Xcode 中開啟您的目標清單並選擇您的專案。按一下Swift Packages
選項卡,然後出現小+
圖示。輸入此儲存庫的 URL,選擇您要安裝的版本(通常預設即可)並確認。
由於 SHSearchBar 使用本地化資源,我從2.0.0
版本開始放棄了 CocoaPods 支持,轉而使用 SPM。請透過 SPM 整合該包(見上文)。
由於 SHSearchBar 使用在地化資源,我從2.0.0
版本開始放棄了 Carthage 支持,轉而支持 SPM。請透過 SPM 整合該包(見上文)。
該存儲庫包含一個範例項目。它顯示了搜尋欄的不同用例。要運行它,只需打開並運行./Example/SHSearchBarExample.xcodeproj
。下圖顯示了一些用例:
您可以像普通文字欄位一樣顯示自訂佔位符:
您甚至可以在搜尋欄中輸入文字:
哇,還有可自訂的配件視圖:
根據需要輕鬆自訂文字和取消按鈕:
您可以自訂文字欄位的每個角落半徑,以便像這樣的佈局變得輕鬆:
內部文字欄位支援新的 iOS 10 'textContentMode':
(重新使用先前在Apple Maps中搜尋到的地址)
您可以在 UINavigationBar 內使用搜尋列:
程式碼文件由 Swift Package Index 產生和託管(由 DocC 提供支援)
要發布此 Swift 包,必須執行以下步驟:
release-xyz
bash <(curl -H -s https://raw.githubusercontent.com/Blackjacx/Scripts/master/frameworks/bootstrap.sh)
以更新到最新的共享開發文件bundle update
來更新所有Ruby gemsbundle exec fastlane release framework:"SHSearchBar" version:"xyz"
來發布新版本 SHSearchBar release x.y.z ?
▸ SHSearchBar (x.y.z) successfully published
▸ ? September 2nd
▸ ? https://swiftpackageindex.com/Blackjacx/SHSearchBar
▸ ? https://github.com/Blackjacx/SHSearchBar/releases/latest
▸ ? Tell your friends!
#spm #search #ios #apple #xcode #uisearchbar #swiftpackagemanager
斯特凡·赫羅德•? @Blackjacxxx
感謝所有參與其中的人:
SHSearchBar 在 MIT 許可下可用。有關詳細信息,請參閱許可證文件。