Je vois les sélections suivantes dans Storyboard pour étendre les bords de la vue d'un UIViewController sous navBars/tabBars:
Mais comment définir ces propriétés globalement pour tous mes ViewControllers dans le code? Au lieu de vérifier/décocher manuellement sur chaque ViewController dans Storyboard.
Il existe quelques nouvelles propriétés dans iOS7 pour contrôler ces paramètres.
edgesForExtendedLayout
indique quels bords doivent être étendus (gauche, droite, haut, bas, tout, aucun ou une combinaison de ceux-ci). L'extension du bord inférieur est égale à la coche "Sous les barres inférieures", l'extension du bord supérieur est égale à la coche "Sous les barres supérieures".
extendedLayoutIncludesOpaqueBars
indique si les bords doivent être automatiquement étendus sous les barres opaques. Donc, si vous combinez ces deux paramètres, vous pouvez imiter toute combinaison de ticks de générateur d'interface dans votre code.
Si vous ne voulez pas étendre à des bords, ajoutez simplement:
let viewController = UIViewController()
viewController.edgesForExtendedLayout = []
Dans l'objectif-C:
- (void) viewDidLoad {
[super viewDidLoad];
[self initVars];
}
- (void) initVars {
self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeBottom;
self.extendedLayoutIncludesOpaqueBars = YES;
}
Les propriétés que vous souhaitez sont:
self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeBottom;