Tôi muốn thêm UISearchBar vào UITableView đã có chế độ xem tiêu đề. Khi tôi thử và thêm thanh tìm kiếm vào chế độ xem tiêu đề hiện tại, nó hoạt động cho đến khi tôi chạm vào nó, tại thời điểm đó tôi nhận được The view hierarchy is not prepared for the constraint
, có vẻ như là thanh tìm kiếm không phải là một chế độ xem trực tiếp của bảng nhìn sao cho khi UISearchController cố gắng cập nhật các ràng buộc mà nó không thể. Cách duy nhất xung quanh điều này mà tôi đã tìm thấy là làm cho đầu xem bảng tiêu đề thanh tìm kiếm, sau đó mọi thứ hoạt động tốt, nhưng tất nhiên sau đó tôi mất các chế độ xem khác đã có trong chế độ xem tiêu đề.UISearchBar subview của UITableViewHeader?
6
A
Trả lời
4
Để khắc phục hành vi này, tôi đặt thanh tìm kiếm của mình trong vùng chứa UIView
. Áp dụng các ràng buộc cho chế độ xem vùng chứa này và sử dụng mặt nạ tự động hóa cho thanh tìm kiếm trong vùng chứa.
// Configure header view
UIView *headerView = ...
...
// Create container view for search bar
UIView *searchBarContainer = [UIView new];
searchBarContainer.translatesAutoresizingMaskIntoConstraints = NO;
[searchBarContainer addSubview:self.searchBar];
[headerView addSubview:searchBarContainer];
self.searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
// Apply constraints involving searchBarContainer
[headerView addConstraint: ...];
...
// Then add header to table view
self.tableView.tableHeaderView = headerView;
Các vấn đề liên quan
- 1. Thêm UISearchBar vào tiêu đề tableView làm subview
- 2. hình ảnh cho nút Cancel của UISearchBar
- 3. Nút hủy UISearchBar
- 4. UISearchBar: thay đổi màu nền của trường nhập
- 5. Xem trên đầu trang của tất cả mọi thứ: UIWindow subview VS UIViewController subview
- 6. iOS - Tùy biến nút của UISearchBar
- 7. trượt UISearchBar
- 8. Gửi subview trở lại
- 9. UISearchBar Animation
- 10. WKWebView Thêm vào SubView
- 11. Cách sửa bàn phím bù đắp khi UISearchbar bị chạm
- 12. Mã mẫu UISearchBar
- 13. UISearchBar Không xuất hiện
- 14. UISearchBar Không dịch chuyển
- 15. iPhone UISearchBar & keyboardAppearance
- 16. gửi subview về phía sau
- 17. Vô hiệu hóa UISearchBar
- 18. Nút hủy tìm kiếm của UISearchBar không hoạt động
- 19. Kiểu dáng tối thiểu của UISearchBar có nền trong suốt
- 20. Tôi có thể móc vào nút Xóa của UISearchBar không?
- 21. Nút ẩn hoạt ảnh UISearchBar
- 22. UISearchBar trong kịch bản Xcode
- 23. UISearchBar tùy chỉnh với UISearchController
- 24. QLPreviewController Phát hiện khi subView/PDF tải
- 25. Thiết kế iPhone subview (UIView vs UIViewController)
- 26. Thêm UIButton làm subview vào UITabBar
- 27. gửi subview trở lại từ storyboard ios
- 28. UIVibrancyEffect UIVisualEffectView subview không đủ sôi động
- 29. subview cuộn không hoạt động SWIFT
- 30. iPhone Hoạt ảnh UIView Tắt UIButton Subview
Ồ, cảm ơn! Nó đã cho tôi ngày tìm kiếm và cố gắng giải quyết khác nhau cho đến khi tìm bài viết của bạn. Kể từ khi tôi đang sử dụng UISearchController tôi có một vấn đề lạ, nơi UISearchBar được thêm vào searchBarContainer, nhưng sau đó khi tôi kiểm tra trong viewWillAppear nó không còn ở đó, vì vậy tôi phải tự thêm nó một lần nữa. Hiện đang chiến đấu chống lại khung hình kỳ lạ ban đầu sau khi thêm lại UISearchBar như một subview trong container, nhưng điều này chắc chắn là đi đúng hướng. –
Bạn có thể phải thêm điều này trong viewWillAppear: if (self.searchBarContainerView.subviews.count == 0) { [self.searchBarContainerView addSubview: self.searchController.searchBar]; // cũng phải sửa chiều cao khung CGRect frame = self.searchBarContainerView.frame; frame.size.height = 44.0f; self.searchBarContainerView.frame = frame; } –