Uygulamamın kullanıcılarının, UICollectionView
'un üzerinde bir UISearchBar
kullanarak resimleri aramasına izin vermek istiyorum. Anlayışım gereği, UICollectionView
düzgün çalışması için UICollectionViewController
olmalıdır. Ancak Xcode, UICollectionViewController
numaralı telefona arama çubuğu eklememe izin vermez. Koleksiyon görünümü düzgün çalışmayacağından genel bir UIViewController
kullanamıyorum. İstediğim işlevselliği nasıl sağlayabilirim?UICollectionView'ın üzerinde bir arama çubuğunu nasıl ekleyebilirim?
cevap
UICollectionViewController
'un içinde UICollectionView
olması zorunlu değildir. UICollectionView
, UITableView
gibidir ve her yere eklenebilir. Tek yapmanız gereken, UICollectionViewDelegate
ve UICollectionViewDataSource
protokollerini uygulamaktır. Aşağıdaki eğiticiyi Supplementary Header takip edebilir ve UICollectionView
ek üstbilgi olarak arama çubuğunu ekleyebilirsiniz.
Bunu yaptım UICollectionViewDelegate ve UICollectionViewDataSource –
'u uyguladığım halde NSExceptions alıyordum. İstisna neydi? –
Swift3 + Storyboard numaralı uygulama ileViewView + SearchBar.
Başlık View Oluşturma:
yeniden görünümü özel sınıf
oluşturun:Search Bar Oluşturma
Set yeniden görünümü özel sınıf
arama çubuğu çıkış
Trick oluşturun: arama bağlayın KOLEKSİYON GÖRÜNÜM sınıfına çubuğu temsilci, arama çubuğu çıkış
Searchbar temsilci Set protokol
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
if (kind == UICollectionElementKindSectionHeader) {
let headerView:UICollectionReusableView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "CollectionViewHeader", for: indexPath)
return headerView
}
return UICollectionReusableView()
}
ait CollectionView başlık yöntemini uygulamak ÖZEL REUSABLE GÖRÜNÜM CLASS gider
class MyCollectionViewController: (other delegates...), UISearchBarDelegate {
Ve son olarak, arama çubuğu temsilci yöntemleri aşağıdaki bağlantıyı bulmak için CollectionView Sınıf
//MARK: - SEARCH
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
if(!(searchBar.text?.isEmpty)!){
//reload your data source if necessary
self.collectionView?.reloadData()
}
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if(searchText.isEmpty){
//reload your data source if necessary
self.collectionView?.reloadData()
}
}
Maalesef bu yaklaşımın birkaç yan etkisi vardır; Arama çubuğu her bölümün başlığında görünecek, arama çubuğu görünmez kayar ve self.collectionView? .reloadData() çağrıldığında arama çubuğu ilkResponder durumunu kaybeder. UISearchController'ı UICollectionView https://github.com/jeremiah-de/CollectionViewSearch/tree/basic-collection-view ile kullanmak için Jeremiah-de büyük adım adım repo'yu inceleyin. – aumansoftware
- 1. Arama çubuğunu etkinleştirme gezinti çubuğunu gizlemiyor
- 2. Arama çubuğunu özelleştirme
- 3. UISearchController Arama Çubuğunu Gizle
- 4. DLL arama sırasına nasıl bir yol ekleyebilirim
- 5. .apply() yöntemine nasıl bir geri arama ekleyebilirim?
- 6. Arama çubuğunu canlandırmak için animasyon nasıl kullanılır
- 7. Yukarıya eklenen altbilgide arama çubuğunu nasıl kaldırabilirim?
- 8. Bir uyarı iletişim kutusuna arama çubuğunu nasıl yerleştiririm?
- 9. Android arama çubuğunu nasıl sorunsuz bir şekilde kullanabilirim?
- 10. Web Hata Ayıklama Araç Çubuğunu Symfony Response'e nasıl ekleyebilirim?
- 11. Tupleların bir listesi üzerinde nasıl arama yapılır?
- 12. Lucene.Net: Arama sonuçlarıma nasıl bir tarih filtresi ekleyebilirim?
- 13. Menubar'a nasıl bir QLineEdit ekleyebilirim
- 14. Google Now arama çubuğunu uygulamamın içine nasıl alabilirim?
- 15. Blogger'da arama çubuğunu kullanarak yan yana menü çubuğu nasıl oluşturulur
- 16. Bir wstring'e nasıl ekleyebilirim?
- 17. Hackage Üzerinde Ters Bağımlılıkları Arama
- 18. FragmanSaveInstanceState üzerinde arama yapmıyor mu?
- 19. JFrame'in MenuBar'ına JTextField'ı nasıl ekleyebilirim?
- 20. 'id' üzerinde arama '/' + jquery'yi içeren
- 21. Bir dersi pypy'de nasıl ekleyebilirim?
- 22. Octave'de bir vektöre nasıl ekleyebilirim?
- 23. Monodevelop'ta nasıl bir referans ekleyebilirim?
- 24. WebView'i bir Widget'a nasıl ekleyebilirim?
- 25. Arama çubuğunu programatik olarak değiştirmek için setProgress kullanabilir miyim
- 26. Düğmecemi ActionBar'a nasıl ekleyebilirim?
- 27. Swift'de bir görüntüye nasıl etiket ekleyebilirim?
- 28. Bir formdaki başlık çubuğunu kaldırma
- 29. jquery joking'e kaydırma çubuğu nasıl ekleyebilirim?
- 30. Mac üzerinde Objective C'den Java kütüphanesi arama
içinde adı verilecek, bu size yardımcı olabilir. [example-nasıl yapılır entegre-uicollectionview with uisearchbar -1] (https://maniacdev.com/2015/01/example-how-to-integrate-uicollectionview-with-uisearchbar) – Chandan