Tôi đang cố gắng tìm cách giải quyết cho trường hợp này:
Tôi có một bộ điều khiển UITabBarController được kết nối với bộ điều khiển xem bộ chứa (BannerViewController) mà tôi đang sử dụng để nhúng một UINavigationController, bộ điều khiển điều hướng đẩy bộ điều khiển xem container khác (EventListContainerviewController) mỗi điều này có chứa một bộ điều khiển tableview.
Đây là màn hình từ bảng câu chuyện của tôi
Vấn đề là chế độ xem vùng chứa cuối cùng được hiển thị trong khung nhỏ hơn so với vùng chứa của chúng. Có vẻ như chúng làm mất không gian tabbar ở phía dưới.
Tôi đã buộc tất cả bộ điều khiển chế độ xem, bộ điều khiển điều hướng và bộ điều khiển thanh tab để tránh không làm lệch các mép của chúng và điều chỉnh các inset.UINavigationController được nhúng trong chế độ xem vùng chứa, hiển thị Trình điều khiển Chế độ xem Bảng có kích thước sai
Màu nghĩa:
đỏ: giao diện chính của 0x7fcc6d38bb00
màu xanh nhạt BannerContainerViewController: quan điểm container của BannerContainerViewController 0x7fcc6d38b860Blue: giao diện chính của EventListContainerViewController 0x7fcc6bd7b7c0
Orange : chế độ xem vùng chứa của EventListContainerViewController 0x7fcc6bd7b690
Dường như có điều gì đó thay đổi khi bộ điều hướng thêm khung nhìn vùng chứa màu xanh làm giảm kích thước của nó bằng cùng một lượng tabbar (49pt). Nó cũng có thể được nhìn thấy trong các mô tả đệ quy của hệ thống phân cấp xem:
<UIWindow: 0x7fcc6bd5af40; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x7fcc6bd4dd80>; layer = <UIWindowLayer: 0x7fcc6bd317c0>>
| <UILayoutContainerView: 0x7fcc6bd671c0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x7fcc6bd66de0>>
| | <UITransitionView: 0x7fcc6bd6a980; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7fcc6bd6ace0>>
| | | <UIViewControllerWrapperView: 0x7fcc6d3a7b20; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x7fcc6d3a7db0>>
| | | | <UIView: 0x7fcc6d38bb00; frame = (0 0; 320 519); autoresize = W+H; layer = <CALayer: 0x7fcc6d38bbd0>>
| | | | | <UIView: 0x7fcc6d38b860; frame = (0 0; 320 519); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7fcc6d38b930>>
| | | | | | <UILayoutContainerView: 0x7fcc6d398000; frame = (0 0; 320 519); autoresize = W+H; gestureRecognizers = <NSArray: 0x7fcc6d3a4b50>; layer = <CALayer: 0x7fcc6d387670>>
| | | | | | | <UINavigationTransitionView: 0x7fcc6d39cfa0; frame = (0 0; 320 519); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7fcc6d39cc40>>
| | | | | | | | <UIViewControllerWrapperView: 0x7fcc6bf31230; frame = (0 0; 320 519); autoresize = W+H; layer = <CALayer: 0x7fcc6bf31300>>
| | | | | | | | | <UIView: 0x7fcc6bd7b7c0; frame = (0 64; 320 406); autoresize = W+H; layer = <CALayer: 0x7fcc6bd7afe0>>
| | | | | | | | | | <UIView: 0x7fcc6bd7b690; frame = (0 0; 320 406); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7fcc6bd7aac0>>
| | | | | | | | | | | <UITableView: 0x7fcc6f03c400; frame = (0 0; 320 406); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7fcc6bf34aa0>; layer = <CALayer: 0x7fcc6bf30bc0>; contentOffset: {0, 0}; contentSize: {320, 170}>
| | | | | | | | | | | | <UITableViewWrapperView: 0x7fcc6bf35960; frame = (0 0; 320 406); gestureRecognizers = <NSArray: 0x7fcc6bf363e0>; layer = <CALayer: 0x7fcc6bf35ed0>; contentOffset: {0, 0}; contentSize: {320, 406}>
| | | | | | | | | | | | | <EventCell: 0x7fcc6bca2950; baseClass = UITableViewCell; frame = (0 85; 320 85); autoresize = W; layer = <CALayer: 0x7fcc6bca2ca0>>
Tôi đã cố gắng để sử dụng tùy chỉnh Segue thay vì xem thùng chứa cố gắng để buộc bố trí, nhưng tôi đoán là một lỗi điều khiển chuyển hướng.
Như bạn có thể thấy biểu ngữ không chồng chéo chế độ xem như dự định.
Bất kỳ đề xuất nào?
Bạn đã kiểm tra xem bộ điều khiển chế độ xem của mình đã chọn 'Mở rộng các cạnh được UnderBottomBars' chưa? – las
chắc chắn như tôi đã viết trong câu hỏi – Andrea
ops ... tất cả đều có Extended Edges không được kiểm tra – Andrea