2014-04-28 16 views
5

Mam UIViewController (czerwony) ustawić jako pierwszą kartę , jak pokazano w poniższym scenorysie. Ten kontroler widoku jest kontrolerem widoku kontenera i ładuje UINavigationController wewnątrz jego contentView (biały prostokąt wewnątrz czerwonego kontrolera widoku).Dodaj UINavigationController zagnieżdżone wewnątrz kontrolera widoku kontenera do UITabBarController

Storyboard

To jest mój kod do ładowania kontrolera nawigacji wewnątrz czerwony widok kontrolera 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]; 
} 

Z tego, co wiem o widok kontrolera skażenia tego powinny praca jak ja wyraźnie ustalone ramka kontrolera nawigacyjnego. Jednak gdy w komórce tableView jest wystarczająco dużo komórek, aby przewyższyć wysokość kontenera, po przewinięciu w dół zawsze znajduje się kreska pod koniec tableView. Ustawiłem tableView 's pomarańczową i komórkę na backgroundColor do białą, aby zobaczyć różnicę.

Gap at the end of the tableView

Jak mogę pozbyć się tej luki pomarańczowego na koniec tableView?

(Uwaga: Jestem nie użyciu autoLayout i muszę rozwiązanie, które działa na obie - iOS7 i iOS6.)

+0

ustaw Tableview kolor tła jako zero, a następnie wt jest problem z tym. –

+0

Kolor 'tableView' nie ma znaczenia. To luka lub "dodatkowy rząd", których nie powinno tam być. – Mischa

+1

Myślę, że dziecko VC (kontroler nawigacyjny) szanuje pasek pasek nadrzędny. – damirstuhec

Odpowiedz

0

Czy próbowałeś ustawienie self.edgesForExtendedLayout = UIRectEdgeAll; w -(void)viewDidLoad z Table View Controller - Root?

Uwaga: iOS 7 tylko

+0

Potrzebuję rozwiązania, które działa również na iOS 6 (zaktualizowałem moje pytanie). Ale wypróbowałem również Twoją sugestię i nie działa ona w systemie iOS 7. – Mischa

1

wiem, że są również szuka odpowiedzi, która działa na iOS 6, ale na iOS 7 i powyżej można użyć

self.extendedLayoutIncludesOpaqueBars = YES; 
Powiązane problemy