J'ai un UIViewController
(rouge) défini comme le premier onglet d'un UITabBarController
comme indiqué dans le storyboard ci-dessous. Ce controller de vue est un controller de vue de conteneur et charge un UINavigationController
dans son contentView
(le rectangle blanc à l'intérieur du controller de vue rouge).
Ceci est mon code pour charger le controller de navigation à l'intérieur du contentView
du controller de vue rouge:
- (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]; }
D'après ce que je sais sur le confinement du controller de vue, cela devrait fonctionner car je définis explicitement le cadre pour le controller de navigation. Cependant, quand il y a suffisamment de cellules dans la tableView
pour dépasser la hauteur du conteneur, il y a toujours une barre à la fin de la tableView
lorsque je défile vers le bas. J'ai mis le tableView
de tableView
en orange et backgroundColor
de la cellule en blanc afin de voir la différence.
Comment puis-je me débarrasser de cet espace orange à la fin de la tableView
?
(Remarque: je n'utilise pas l' autolayout et j'ai besoin d'une solution qui fonctionne pour les deux – iOS7 et iOS6.)
Je sais que vous searchz également une réponse qui fonctionne sur iOS 6, mais sur iOS 7 et supérieur, vous pouvez utiliser
self.extendedLayoutIncludesOpaqueBars = YES;
Avez-vous essayé de définir self.edgesForExtendedLayout = UIRectEdgeAll;
dans -(void)viewDidLoad
de Table View Controller - Root
?
Remarque : iOS 7 uniquement