Tôi có bộ điều khiển xem bảng với UISearchController
đặt UISearchBar
làm tableView.tableHeaderView
. Khi cập nhật kết quả tìm kiếm, tôi sử dụng beginUpdates
và endUpdates
và các phương pháp liên quan để cập nhật dữ liệu cho chế độ xem bảng.UISearchBar biến mất khỏi tableHeaderXem khi sử dụng beginUpdates/endUpdates
Điều này làm cho thanh tìm kiếm biến mất; tableHeaderView
được đặt thành UIView
rỗng, có cùng kích thước với thanh tìm kiếm. Nếu tôi chỉ sử dụng reloadData
thay vì toàn bộ thủ tục beginUpdates
/endUpdates
, mọi thứ đều ổn.
Bộ điều khiển xem bảng được nhúng trong bộ điều khiển chế độ xem thông thường; không có trình điều khiển điều hướng nào liên quan. Đây là toàn bộ việc triển khai bộ điều khiển xem bảng cần thiết để tái tạo sự cố:
- (void)viewDidLoad
{
[super viewDidLoad];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.tableView.tableHeaderView = self.searchController.searchBar;
}
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
Tại sao điều này làm cho thanh tìm kiếm được thay thế bằng chế độ xem trống và cách tránh thanh này?
Bạn đã thử thay đổi thuộc tính "mờ" trên chế độ xem của bạnBộ điều khiển/Điều hướng trên và của? Tôi nhớ tôi đã có vấn đề này một lần, Và nếu tôi nhớ chính xác "mờ" nó đã có một cái gì đó để làm với nó .. – MCMatan