第 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,讓使用者能夠搜尋到想找的餐廳。

在 iOS8 中,一個名為 UISearchController 的新類別是用來取代大約自 iOS 3 就已經存在的UISearchDisplayController API。舊的API 已經過時。如果你已經有 iOS 7 或更早版本的開發經驗,記得要用 UISearchController 來取代它。

這個 UISearchController API 簡化了建立搜尋列的方式以及搜尋結果的處理。你不再侷限於只能在表格視圖控制器中做搜尋,它也可在任何視圖控制器如集合視圖控制器(Collection View Controller )使用它,甚至它也可提供開發者透過自訂的動畫物件,來彈性改變搜尋列的動畫。

在 iOS 11, Apple 進一步簡化搜尋列的實作。它在導覽列的導覽項目導入一個新的 searchController 屬性。只要幾行程式,你將能夠加入一個搜尋列至導覽列中。你待會將會了解我的意思。

有了UISearchController,加上一個搜尋列至你的 App 中是一件很簡單的工作。我們開始來實作預設的搜尋列並了解如何過濾餐廳資料。

本文摘自《iOS 13 App程式設計實戰心法》一書,博碩授權轉載。如果你想更深入學習Swift程式設計和下載完整程式碼,你可以從AppCoda網站購買完整電子版。

results matching ""

    No results matching ""