UIView
, UITableView
ve başka bir UIView
içim var. UITableView
içinde, bir UISearchController
içeren bir başlık var, arama denetleyicisi bir UISearchBar
içerir. Sorun şu ki, arama çubuğuna odaklanmaya başladığımda ve textField'ı düzenlediğimde (yani searchController.searchBar.isFirstResponder()
olduğunda), kapsam düğmelerinin çıkması, tablo görünümünün ilk sırasının bir bölümünü örtbas etme ve gizleme.TableView üstbilgisi heightForHeaderInSection için dinamik yüksekliği nasıl ayarlayabilirim?
Bu yüzden, headerView yüksekliğini dinamik yapmaya çalışıyorum, böylece arama çubuğu ilk yanıtlayıcı olduğunda onu değiştirebilirim. Aşağıdakileri denedim ama işe yaramıyor:
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if searchController.searchBar.isFirstResponder() {
return 40.0
}
else{
return 20.0
}
}
Bunu nasıl başarabileceğime dair herhangi bir fikrin var mı? Önceden teşekkür ederiz.
DÜZENLEME: Ben de searchController UISearchController arama çubuğu temsilci dinlemek için
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.scopeButtonTitles = ["Groups", "People"]
tableView.tableHeaderView = searchController.searchBar
searchController.searchBar.delegate = self
searchController.searchBar.sizeToFit()
self.definesPresentationContext = false
Teşekkür ederiz. Bu aslında çalışır, ancak kapsam düğmelerinin göründükleri ve tablo üstbilgisinin yüksekliği görüntülenmediği için, kapsam alanını doldurmadan önce bir saniye kadar gri alanı görebilirsiniz. Bunu düzeltmek için bir fikrin var mı? –
Üzgünüz, söylemesi zor, eğer hala sizin için geçerliyse, screencast veya kısa video sağlayın. –