2014-04-28 13 views
5

Tôi có một UIViewController (màu đỏ) được đặt làm tab đầu tiên của UITabBarController như được hiển thị trong bảng phân cảnh bên dưới. Bộ điều khiển chế độ xem này là bộ điều khiển chế độ xem vùng chứa và tải UINavigationController bên trong contentView (hình chữ nhật màu trắng bên trong trình điều khiển chế độ xem màu đỏ).Thêm một UINavigationController được lồng vào bên trong bộ điều khiển xem vùng chứa tới một UITabBarController

Storyboard

Đây là mã của tôi cho tải bộ điều khiển chuyển hướng bên trong xem điều khiển màu đỏ của contentView:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // instantiate navigation controller 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UINavigationController *navigationVC = [storyboard instantiateViewControllerWithIdentifier:@"N"]; 

    // place navigation controller inside content view 
    [self addChildViewController:navigationVC]; 
    navigationVC.view.frame = self.containerView.bounds; 
    [self.containerView addSubview:navigationVC.view]; 
    [navigationVC didMoveToParentViewController:self]; 
} 

Từ những gì tôi biết về quan điểm điều khiển ngăn chặn này nên công việc như tôi đang thiết một cách rõ ràng khung cho bộ điều khiển điều hướng. Tuy nhiên, khi có đủ ô trong số tableView để vượt quá chiều cao của vật chứa, luôn có một thanh ở cuối số tableView khi tôi cuộn xuống. Tôi đã đặt backgroundColor của tableView thành cam và của ô là backgroundColor đến trắng để thấy sự khác biệt.

Gap at the end of the tableView

Làm thế nào để thoát khỏi rằng khoảng cách cam ở phần cuối của tableView?

(Lưu ý: Tôi không sử dụng autolayout và tôi cần một giải pháp mà làm việc cho cả hai - iOS7 iOS6.)

+0

thiết lập màu nền của tableView như nil, sau đó wt là vấn đề với điều đó. –

+0

Màu của 'tableView' không quan trọng. Đó là khoảng trống hoặc "hàng phụ" không nên ở đó. – Mischa

+1

Tôi nghĩ rằng VC con (bộ điều khiển chuyển hướng) đang tôn trọng thanh tab chính. – damirstuhec

Trả lời

0

Bạn đã cố gắng thiết lập self.edgesForExtendedLayout = UIRectEdgeAll; trong -(void)viewDidLoad của Table View Controller - Root?

Note: iOS 7 chỉ

+0

Tôi cần một giải pháp hoạt động cho iOS 6 (cập nhật câu hỏi của tôi). Nhưng tôi cũng đã thử đề xuất của bạn và nó không hoạt động trong iOS 7. – Mischa

1

Tôi biết bạn cũng đang tìm kiếm một câu trả lời mà hoạt động trên iOS 6, nhưng trên iOS 7 trở lên bạn có thể sử dụng

self.extendedLayoutIncludesOpaqueBars = YES; 
Các vấn đề liên quan