6 votes

Cadre UIView lorsque la barre de navigation et le contrôleur de la barre d'onglets existent

Je crée une vue UIV par programme en loadView . L'application possède un UITabBarController et un UINavigationController.

Comment créer une vue qui redimensionne automatiquement quand une barre d'onglets et une barre de navigation existent toutes les deux ?

Mon approche actuelle de ce problème consiste à calculer les hauteurs des contrôleurs de la barre de navigation et de la barre d'onglets et à les soustraire de la hauteur de l'écran principal :

float navObjectsHeight = self.tabBarController.tabBar.frame.size.height 
    + self.navigationController.navigationBar.frame.size.height;

CGRect mainFrame = CGRectMake(0, 0, screenFrame.size.width, 
  screenFrame.size.height - navObjectsHeight);

UIView *contentWrapper = [[UIView alloc] initWithFrame:mainFrame];

5voto

Ricardo de Cillo Points 513

L'UIView dispose d'une propriété permettant de gérer cette situation. Comme vous le créez par programme, le code à utiliser est le suivant :

UIView *aView = [[UIView alloc] init];
aView.autoresizingMask = UIViewAutoresizingFlexibleHeight;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X