如何使SearchBar像iPhone设置

时间:2018-07-18 14:01:32

标签: ios iphone swift uisearchbar

您好,谢谢。我有2个问题。首先,如何在没有搜索任何内容的情况下使搜索栏像设置一样显示,但背景显示设置,然后从静态表格视图中显示搜索结果

   searchController = UISearchController(searchResultsController: nil)
    searchController?.searchBar.delegate = self
    searchController?.dimsBackgroundDuringPresentation = true
    searchController?.searchResultsUpdater = self
    navigationItem.searchController = searchController    

Screenshot

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则您有一个空的UITableView,并且您想在没有执行任何搜索时使用一个搜索栏。然后,您希望搜索结果出现在该表视图中。

首先,我建议始终将搜索栏放在表格视图的顶部,以便用户可以在第一个搜索之后执行另一个搜索。但是,如果这不是您的目标,则可以实现以下目标:

import { FormsModule } from '@angular/forms';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})

然后,当用户执行第一次搜索时,将其设置为true。然后有:

var didPerformSearch: Bool = false

此外,您的结果表视图还是动态的,因为搜索结果的数量和搜索结果本身将根据搜索而有所不同。

因此,请使用动态表格视图以及if didPerformSearch == true { yourSearchBar.isHidden = true }else{ yourSearchBar.isHidden = false } UITableViewDelegateUITableviewDataSource来显示您的搜索结果,但我无法显示如何做,因为我没有不知道如何获得搜索结果。

希望我能帮上忙!

编辑

好吧,在阅读您的评论后,我实际上了解了您想要做什么。 您可以在UITableViewControllerViewController的上方创建搜索结果的表格视图。 然后,当用户点击搜索栏时,您将设置resultsTableView.isHidden = true

OR

您甚至可以像这样制作动画: resultsTableView.isHidden = false

(将其显示为1,将其隐藏为0)