UISearchController

Panther·2021년 10월 12일
0

https://developer.apple.com/documentation/uikit/uisearchcontroller

"A view controller that manages the display of search results based on interactions with a search bar."

검색바에 대한 상호작용에 기반해 검색 결과의 표시를 관리하는 뷰 컨트롤러입니다.

Declaration

@MainActor class UISearchController : UIViewController

Overview

다른 뷰 컨트롤러의 컨텐츠에 대한 표준 검색 경험을 제공하려면 검색 컨트롤러를 사용하시기 바랍니다. 사용자가 UISearchBar에 상호작용할 때 검색 컨트롤러는 검색 결과를 표시하기 위해 검색 결과 컨트롤러를 조정합니다.

iOS에서 뷰 컨트롤러의 인터페이스에 검색 컨트롤러의 searchBar를 통합해야 합니다. 어떤 방식에서든 뷰 컨트롤러의 표시는 앱에 적합한 형태여야 합니다. 앱에서 검색 컨트롤러를 구현하는 방법에 대해 알아보려면 Displaying Searchable Content by Using a Search Controller 및 Using Suggested Searches with a Search Controller를 보시기 바랍니다.

Displaying Searchable Content by Using a Search Controller
https://developer.apple.com/documentation/uikit/view_controllers/displaying_searchable_content_by_using_a_search_controller

Using Suggested Searches with a Search Controller
https://developer.apple.com/documentation/uikit/view_controllers/using_suggested_searches_with_a_search_controller

tvOS에서는 검색 컨트롤러의 프리젠테이션을 관리하려면 UISearchContainerViewController로 시작하시기 바랍니다. UISearchContainerViewController 객체 내부에 있는 검색 컨트롤러 구현 방법에 대해 알아보려면 UIKit Catalog (tvOS): Creating and Customizing UIKit Controls를 보시기 바랍니다.

UIKit Catalog (tvOS): Creating and Customizing UIKit Controls
https://developer.apple.com/library/archive/samplecode/UICatalogFortvOS/Introduction/Intro.html#//apple_ref/doc/uid/TP40016433

Note
iOS에서는 UISearchContainerViewController를 사용하지 않아야 합니다.

Display Search Results

init(searchResultsController:)를 호출할 때 검색 결과를 표시할 수 있도록 두 번째 뷰 컨트롤러를 구체화하시기 바랍니다. 사용자가 검색바와 상호작용할 때 검색 컨트롤러는 구체화한 결과를 갖는 결과 컨트롤러를 자동으로 표시합니다. 결과 뷰가 tvOS에서 전체 스크린인 경우 검색 컨트롤러에 searchControllerObservedScrollView를 설정해 검색바가 컨텐트 뷰에서 스크롤될 수 있도록 하시기 바랍니다.

검색 컨트롤러의 searchResultsUpdater 속성에 UISearchResultsUpdating 객체를 제공하시기 바랍니다. 보통 검색 가능한 컨텐트를 갖는 뷰 컨트롤러는 검색 결과 업데이터 객체 역할을 하지만, 선호하는 다른 객체가 있다면 다른 객체를 사용할 수 있습니다. 사용자가 검색바에 상호작용할 때 검색 컨트롤러는 적합한 UISearchResultsUpdating 메소드를 호출하며, 객체에게 검색 결과 뷰의 컨텐츠 검색 및 업데이트를 수행할 수 있는 기회를 줍니다.

Customize Transitions

검색 결과 컨트롤러의 프리젠테이션 혹은 해제를 커스터마이징하려면 검색 컨트롤러 딜리게이트 속성을 UISearchControllerDelegate 프로토콜을 따르는 객체에 설정하시기 바랍니다. 이후 검색 컨트롤러로부터 프리젠테이션 및 해제 이벤트를 받기 위해 이 객체에서 딜리게이트 메소드를 구현하시기 바랍니다.

See Also


Search Interface

UISearchContainerViewController

UISearchBar


0개의 댓글