5

Ho una UIViewController (rosso) impostata come prima scheda di un UITabBarController come mostrato nella storyboard di seguito. Questo controller di visualizzazione è un controller di visualizzazione contenitore e carica uno UINavigationController all'interno del suo contentView (il rettangolo bianco all'interno del controller di visualizzazione rossa).Aggiungere un'UINavigationController annidato all'interno di un controller di vista container in un UITabBarController

Storyboard

Questo è il mio codice per caricare il controller di navigazione all'interno del rosso visualizzazione del controller 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]; 
} 

Da quello che so di vista del regolatore di contenimento questo dovrebbe lavoro come io pongo in modo esplicito la cornice per il controller di navigazione. Tuttavia, quando ci sono abbastanza celle nello tableView per superare l'altezza del contenitore, alla fine dello tableView si trova sempre una barra quando si scorre verso il basso. Ho impostato s' backgroundColor-arancione e tableView della cellula backgroundColor-bianco per vedere la differenza.

Gap at the end of the tableView

Come faccio a sbarazzarsi di quel gap arancione alla fine della tableView?

(Nota: Sono non utilizzando layout automatico e ho bisogno di una soluzione che funziona per entrambi - iOS7 e iOS6.)

+0

impostare il colore di sfondo del tableView come zero, quindi il problema è questo. –

+0

Il colore del 'tableView' non ha importanza. È il divario o la "fila extra" che non dovrebbe essere lì. – Mischa

+1

Penso che VC figlio (controller di navigazione) stia rispettando la barra delle schede genitore. – damirstuhec

risposta

0

Hai provato impostazione self.edgesForExtendedLayout = UIRectEdgeAll; in -(void)viewDidLoad di Table View Controller - Root?

Nota: iOS 7 solo

+0

Ho bisogno di una soluzione che funziona anche per iOS 6 (aggiornata la mia domanda). Ma ho anche provato il tuo suggerimento e non ha funzionato su iOS 7. – Mischa

1

So che sono anche alla ricerca di una risposta che funziona su iOS 6, ma su iOS 7 e versioni successive è possibile utilizzare

self.extendedLayoutIncludesOpaqueBars = YES;