Pertanyaan iOS - Pertahankan ScopeBar bahkan setelah Cancel Button klik


Saya mengatur setShowsScopeBar menjadi TRUE dari awal, dan itu bekerja dengan sempurna. Tetapi setelah saya mencari sesuatu dan membatalkan pencarian saya, Scope Bar menghilang.

Bagaimana cara menjaga scopebar bahkan setelah menekan tombol Batal?

Ternyata, di versi sebelumnya, dengan UISearchBar,

    - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
    [searchBar setShowsScopeBar:YES];
    return YES;
}

Ini berhasil. Tetapi dengan SearchController, itu tidak terjadi lagi.

Saya sudah mencoba ini:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    searchController.searchBar.showsScopeBar = YES;
    [searchController.searchBar sizeToFit];
    isSearching = NO;
}

tidak berhasil.

Apakah ada solusi yang mungkin tersedia di iOS 9?


4
2017-11-24 10:20


asal


Jawaban:


Tidak ada cara langsung menjaga bilah cakupan selalu terlihat kecuali Anda menggunakan beberapa peretasan.

Sebagai gantinya gunakan a UISegmentedControl yang terlihat seperti bilah spasi. Kemudian menangani penyaringan hasil pencarian - updateSearchResultsForSearchController: berdasarkan segmen yang dipilih.


0
2017-12-03 08:44



Elemennya adalah UISegmentedControl dengan gaya UISegmentedControlStyleBar. Anda dapat mengatur properti tintColor untuk mendapatkan warna yang diinginkan. Cukup tempatkan tampilan di atas tampilan tabel dan Anda bisa mendapatkan sesuatu yang terlihat seperti tangkapan layar itu.


0
2017-12-03 06:49