第 20 章
搜尋列與 UISearchController
I knew that if I failed I wouldn't regret that, but I knew the one thing I might regret is not trying.
– Jeff Bezos
大部分的表格式 App 常會在畫面上見到一個搜尋列(Search Bar ),而你要如何實作搜尋列來做資料搜尋?在本章中,我們會幫 FoodPin App 加上搜尋列。有了搜尋列,我們將強化這個餐廳 App,以讓使用者能夠搜尋到想找的餐廳。
在 iOS 8 中,一個名為 UISearchController
的新類別是用來取代大約自 iOS 3 就已經存在的UISearchDisplayController
API。這個 UISearchController
API 簡化了建立搜尋列的方式以及搜尋結果的處理。你不再侷限於只能在表格視圖控制器中做搜尋,它也可在任何視圖控制器如集合視圖控制器(Collection View Controller )使用它,甚至它也可提供開發者透過自訂的動畫物件,來彈性改變搜尋列的動畫。
從 iOS 11 開始,Apple 進一步簡化搜尋列的實作。它在導覽列的導覽項目導入一個新的 searchController
屬性。只需幾行程式碼,你就可加入一個搜尋列至導覽列中。之後你將會了解我的意思。
有了 UISearchController
,加上一個搜尋列至你的 App 中是一件很簡單的工作。我們開始來實作預設的搜尋列,並了解如何過濾餐廳資料。
本文摘自《iOS 17 App程式設計實戰心法》(Swift+UIKit)》一書。如果你想更深入學習Swift程式設計和下載完整程式碼,你可以從 AppCoda網站 購買完整電子版