Sử dụng bảng phân cảnh chung với giao diện người dùng thích ứng UISplitViewController
.Tôi nên trình bày UISearchController bằng giao diện người dùng thích ứng UISplitView như thế nào?
tôi muốn trình bày một bộ điều khiển tìm kiếm trên (master) phía sơ cấp, sử dụng đoạn mã sau (từ bộ điều khiển xem tổng thể):
static NSString * const kCGISearchViewControllerID = @"SearchViewControllerID";
- (IBAction)searchButtonClicked:(UIBarButtonItem *)__unused sender {
SearchViewController *searchResultsController = [self.storyboard instantiateViewControllerWithIdentifier:kCGISearchViewControllerID];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
self.searchController.searchResultsUpdater = searchResultsController;
self.searchController.hidesNavigationBarDuringPresentation = NO;
[self presentViewController:self.searchController animated:YES completion:nil];
}
Nó ban đầu xuất hiện để làm việc một cách chính xác (không phụ thuộc vào định hướng bắt đầu):
vấn đề xuất hiện sau khi autorotation (bàn phím vẫn còn nhìn thấy, nội dung cơ bản vẫn bị mờ, nhưng thanh tìm kiếm đã biến mất):
Sau khi quay trở về cảnh quan, thanh tìm kiếm lại xuất hiện, nhưng chiều rộng của nó bây giờ là sai:
(Tôi cũng đã thử đặt bộ điều khiển tìm kiếm của searchBar
trong titleView
. Mặc dù searchBar điều chỉnh chính xác, nhưng bộ điều khiển kết quả tìm kiếm vẫn trông không đúng.)
Tôi thiếu gì để có được bản trình bày UISearchController
làm animate chính xác khi UI thích nghi với các lớp kích thước thay đổi?
Cập nhật:
Thêm self.definesPresentationContext = YES;
được tìm kiếm quán bar/kết quả xuất hiện trong tầm nhìn ban đầu, nhưng thanh tìm kiếm được hiệu ứng động dưới rằng thanh điều hướng, và không nhìn thấy được. Các vấn đề khác là chiều cao thanh tìm kiếm không co lại, khi nó quay từ chân dung (trong đó có một thanh trạng thái), trở lại phong cảnh.
Tôi đã tiến một bước gần hơn bằng cách thêm 'self.definesPresentationContext = YES;' Bộ điều khiển tìm kiếm và kết quả giờ đây vừa trong chế độ xem chính, nhưng thanh tìm kiếm bị ẩn dưới thanh điều hướng. –