Tôi muốn cho phép người dùng ứng dụng của tôi tìm kiếm hình ảnh bằng cách sử dụng UISearchBar
phía trên một số UICollectionView
. Theo sự hiểu biết của tôi, một số UICollectionView
phải ở trong một số UICollectionViewController
để hoạt động bình thường. Tuy nhiên, Xcode sẽ không cho phép tôi đặt thanh tìm kiếm trong một số UICollectionViewController
. Tôi cũng không thể sử dụng chung UIViewController
vì chế độ xem bộ sưu tập sẽ không hoạt động đúng cách. Làm thế nào tôi có thể đạt được các chức năng mà tôi muốn?Tôi làm cách nào để thêm thanh tìm kiếm phía trên UICollectionView?
Trả lời
Không bắt buộc phải có UICollectionView
bên trong UICollectionViewController
. UICollectionView
giống như UITableView
và có thể được thêm ở mọi nơi. Tất cả những gì bạn cần làm là thực hiện các giao thức UICollectionViewDelegate
và UICollectionViewDataSource
. Bạn có thể làm theo hướng dẫn sau Supplementary Header và thêm thanh tìm kiếm làm tiêu đề bổ sung của UICollectionView
.
Tôi đã làm điều đó nhưng tôi đã nhận được NSExceptions mặc dù tôi đã triển khai UICollectionViewDelegate và UICollectionViewDataSource –
Ngoại lệ là gì? –
Bộ sưu tậpXem + Tìm kiếmBar với Swift3 + Bảng phân cảnh triển khai.
Tạo Header Xem:
Tạo Search Bar:
Tạo quan điểm tái sử dụng lớp tùy chỉnh
Đặt giao diện tùy chỉnh tái sử dụng lớp
Tạo ổ cắm thanh tìm kiếm
Trick: Nối tìm kiếm thanh đại biểu đến lớp THU VIEW, ổ cắm thanh tìm kiếm đi vào XEM CLASS CUSTOM SÀI LẠI
Thực hiện các phương pháp tiêu đề CollectionView của giao thức
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()
}
Đặt các đại biểu Searchbar
class MyCollectionViewController: (other delegates...), UISearchBarDelegate {
Và cuối cùng, các phương pháp đại biểu thanh tìm kiếm của bạn sẽ được gọi trong CollectionView Lớp
//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()
}
}
Thật không may cách tiếp cận này có một vài tác dụng phụ; thanh tìm kiếm sẽ xuất hiện trong mọi tiêu đề phần, thanh tìm kiếm sẽ cuộn ra khỏi chế độ xem và thanh tìm kiếm sẽ mất trạng thái firstResponder khi self.collectionView? .reloadData() được gọi. Kiểm tra Jeremiah-de tuyệt vời từng bước repo để sử dụng UISearchController với UICollectionView https://github.com/jeremiah-de/CollectionViewSearch/tree/basic-collection-view – aumansoftware
- 1. Thêm dấu cách phía trên thanh tìm kiếm khi UISearchDisplayController đang hoạt động
- 2. Cách thêm thanh tìm kiếm vào JSQMessagesViewController
- 3. Thêm biểu tượng tìm kiếm trên thanh tác vụ android
- 4. Làm cách nào để di chuyển thanh tìm kiếm trên Android một cách trơn tru?
- 5. Làm cách nào để thêm tiêu đề phần trong UICollectionView?
- 6. Làm cách nào để thêm một trường văn bản khác vào UISearchController khi tiêu điểm ở trên Thanh tìm kiếm?
- 7. Thanh tìm kiếm - tìm kiếm trên phím 'enter'
- 8. Làm cách nào để làm cho thanh tìm kiếm/thanh trượt được phân đoạn như sau?
- 9. Lucene.Net: Làm cách nào để thêm bộ lọc ngày vào kết quả tìm kiếm của tôi?
- 10. Làm cách nào để triển khai Thanh tìm kiếm như ứng dụng Gmail trong Android?
- 11. sụp đổ trên thanh tìm kiếm tap
- 12. Cách thêm nút tìm kiếm trên thanh công cụ trong thiết kế material design
- 13. Tôi làm cách nào để truy xuất lịch sử tìm kiếm trên Google của mình?
- 14. Tôi làm cách nào để đặt chiều rộng tùy chỉnh trên iframe tìm kiếm của Google?
- 15. Làm thế nào để loại bỏ bàn phím khi tôi nhấn ra khỏi thanh tìm kiếm trên Swift?
- 16. Thêm mục vào thanh công cụ Tìm kiếm
- 17. Làm cách nào để móc nút tìm kiếm phần cứng trên WP7
- 18. Làm cách nào để thay đổi màu của ngón tay cái trong thanh tìm kiếm?
- 19. Làm cách nào để thay đổi màu của thanh tìm kiếm?
- 20. Cách ẩn thanh cuộn của UICollectionView
- 21. cách giới hạn thanh tìm kiếm
- 22. Tôi có thể sử dụng setProgress để thay đổi thanh tìm kiếm theo cách lập trình
- 23. Có cách nào để phát hiện tìm kiếm trên các tìm kiếm trang trong javascript
- 24. Làm cách nào để đặt thanh tìm kiếm trong hộp thoại cảnh báo?
- 25. Làm cách nào để tìm kiếm jQuery trực tiếp của tôi chờ một giây trước khi thực hiện tìm kiếm?
- 26. Tôi làm cách nào để phát âm thanh ngược lại với API âm thanh trên web?
- 27. Làm cách nào để hiển thị một số giá trị trên thanh tìm kiếm như mặc định?
- 28. Làm cách nào để thêm ActivityItem vào thanh hoạt động trên trong UIActivityViewController?
- 29. tùy biến thanh tìm kiếm android,
- 30. Tôi làm cách nào để thêm tìm kiếm Google được tích hợp vào trang web của mình?
bạn tìm liên kết dưới đây, điều này có thể giúp bạn. [ví dụ-cách-tích hợp-uicollectionview-với-uisearchbar -1] (https://maniacdev.com/2015/01/example-how-to-integrate-uicollectionview-with-uisearchbar) – Chandan