3

Я ориентирую свое приложение на iOS 7 & iOS 8. Так как UISearchDisplayController устарел в iOS 8, я использовал UISearchController для iOS 8. Но он не работает в iOS 7. Если я использую UISearchDisplayController, то он будет работать в iOS 7. Но какой лучший способ реализовать контроллер поиска для обеих платформ? В прошивке 8, я реализован поиск контроллер, как показано ниже -Как реализовать контроллер поиска для iOS 7 и iOS 8

override func viewDidLoad() { 
      super.viewDidLoad() 

      // Search Controller Setup 
      searchController = UISearchController(searchResultsController: nil) 
      searchController.searchBar.delegate = self 
      searchController.searchResultsUpdater = self 
      searchController.dimsBackgroundDuringPresentation = false 
      searchController.searchBar.placeholder = "ব্র্যান্ড/সংস্থা/দোকান খুঁজুন" 

      // Make sure the that the search bar is visible within the navigation bar. 
      searchController.searchBar.sizeToFit() 
      tableView.tableHeaderView = searchController.searchBar 
      definesPresentationContext = true 
} 

и прошивка 7 в SWIFT, как я могу реализовать UISearchDisplayController как выше программно, чтобы убедиться, что панель поиска видна в панели навигации?

ответ

1

Используйте путь ios7. Даже если он обесценивается. Или вам нужно будет сделать два кода, один для управления iOS7, а другой для iOS8. Если вы нацеливаете iOS 7, Xcode не покажет вам предупреждения.

+0

Как я могу реализовать UISearchDisplayController программно, как я сделал для iOS 8. Я попробовал searchController = UISearchDisplayController (searchResultsController: nil) вместо UISearchController (searchResultsController: nil). Но он не работает – Nuibb

1
searchController = UISearchController(searchResultsController: nil) 

// Изменение внешнего вида поиска Бара

searchController.searchBar.tintColor = UIColor.whiteColor() 
    searchController.searchBar.barTintColor = UIColor(red: 235.0/255.0, green: 73.0/255.0, blue: 27.0/255.0, alpha: 1.0) 
    searchController.searchBar.placeholder = "Search Something" 
    searchController.searchBar.prompt = "Quick Search" 

// Сделать SearchBar появляются в панели навигации

searchController.searchBar.sizeToFit() 
    tableView.tableHeaderView = searchController.searchBar 
    definesPresentationContext = true 

// Вам не нужно установить делегат для себя , вместо этого

searchController.searchResultsUpdater = self 
    searchController.dimsBackgroundDuringPresentation = false // important 

После этого, вам нужно придерживаться протокола UISearchResultsUpdating и осуществить

func updateSearchResultsForSearchController(searchController: UISearchController) 

, который будет содержать логику вашего поиска.

Смежные вопросы