Tôi có một lớp cha với tableview và thanh tìm kiếm trên đó là một phân lớp của bộ điều khiển xem bảng. Các đại biểu cho searchBar và searchdisplaycontroller được đặt trong một lớp riêng biệt được kế thừa từ UISearchdisplaycontroller. Nguồn dữ liệu và các đại biểu cho tableview và searchbar được xử lý trong lớp này một cách riêng biệt. Các lớp học dưới ARC.Không thể loại bỏ giao diện Tìm kiếm
Do đó, khi người dùng nhấn vào tìm kiếm, điều khiển sẽ chuyển từ lớp FilesListController (cha mẹ) sang lớp này. Bây giờ, khi một vòi nước dùng vào nút hủy, các đại biểu thanh tìm kiếm thiết lập trong lớp này ví dụ:
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
được gọi nhưng không phục vụ mục đích gạt bỏ màn hình searchtableview đầy đủ và trở về parentviewcontroller. Tuy nhiên, nếu tôi không viết đại biểu này trong lớp tìm kiếm, nó hoạt động đúng. Tôi đã thiết lập các đại biểu thanh tìm kiếm trong xib và gọi:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
như thế này:
self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
tôi đi đâu vậy? Cảm ơn trước.
[self.searchDisplayController setActive: NO anima ted: YES]; – jussi
hey thanks @jussi .. nó hoạt động !!! Nhưng tại sao nó không tự mình loại bỏ? Điều này giống như chúng tôi đang buộc searchviewcontroller bỏ qua. –
bởi vì một số muốn lưu trữ một số thông tin trước khi dissmissing Controller. Tôi sẽ đăng bài này như là một câu trả lời. – jussi