2012-08-03 33 views
5

Điều này cực kỳ bực bội: Tôi đang cố hiển thị kết quả chưa được lọc trong UISearchDisplayController ngay cả khi chuỗi tìm kiếm trống.Hiển thị UISearchDisplayTableXem khi chuỗi tìm kiếm trống

Thêm mã gỡ lỗi vào numberOfSectionsInTableView:numberOfRowsInSection: cho thấy rằng khi chuỗi tìm kiếm của tôi trống, các số nguyên khác không được trả về, nhưng cellForRowAtIndexPath: không bao giờ được gọi! Chế độ xem bảng dường như bị ẩn.

Tôi đã thử đặt tableview.hidden=NO; trong searchDisplayController:(UISearchDisplayController *)controller didHideSearchResultsTableView:(UITableView *)tableView không có kết quả.

Điều này khó có thể kéo ra được, tôi cho rằng đây là điều rất phổ biến cần làm!

Trả lời

2

Giải pháp cho điều này là không sử dụng UISearchDisplayController. Nó chỉ đơn giản là không cung cấp sự linh hoạt bạn cần phải làm một cái gì đó như thế này. Xây dựng giao diện tìm kiếm tùy chỉnh của riêng bạn với UISegmentedControl, UISearchBar và UITableView cho sự linh hoạt tối đa.

2

Những gì bạn có thể làm là Khi người dùng nhấp vào tìm kiếm và chuỗi là sự thay đổi trống searchBartext để "\ n" vận chuyển trở lại

self.searchDisplayController.searchBar.text = @"\n"; 

Sự trở lại vận chuyển không được hiển thị trong thanh tìm kiếm một cũng có thể nó sẽ không phải là cùng một chuỗi, như thể người dùng gõ "\ n". vì vậy nó hoạt động tốt. Trong các phương thức

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString 

bạn có thể đặt văn bản thanh tìm kiếm về @ "". nếu chuỗi tìm kiếm là @ "\ n"

self.searchDisplayController.searchBar.text = @""; 

Đó là những gì hiệu quả đối với tôi!

+0

bất cứ khi nào tôi đặt self.searchDisplayController.searchBar.text = @ ""; trong shouldReloadTableForSearchString nó không hoạt động. Tôi muốn làm điều đó để có thể xem văn bản trình giữ chỗ của mình. Có suy nghĩ gì không? – DonnaLea

+0

Tôi phải ngủ một nửa, bởi vì nó hoạt động ngay bây giờ. Yay – DonnaLea

+0

Khi bạn có '" "văn bản trống, văn bản giữ chỗ sẽ bị xóa. @ DonnaLea, bạn có thể vui lòng giải thích cách nó hoạt động cho bạn – Sategroup

4

Tôi biết đây là một bài đăng cũ, nhưng tôi đã có cùng một vấn đề với UISearchController iOS8 mới. Giải pháp thay thế là kiểm tra xem chuỗi có trống không và đặt thuộc tính của kết quả tableview là HIDDEN = NO

+0

Tôi gặp vấn đề tương tự nhưng thuộc tính tableview của tôi bị ẩn luôn bằng NO. – Allen

Các vấn đề liên quan