ios uiviewcontroller ios7

ios - Cómo establecer las propiedades de UIViewController "extender bordes"



ios7 (3)

Veo las siguientes selecciones en Storyboard para extender los bordes de una vista de UIViewController bajo las barras de navegación / tabBars

Pero, ¿cómo configuro estas propiedades globalmente para todos mis ViewControllers en código? A diferencia de activar / desactivar manualmente cada ViewController en Storyboard.


En Objective-C:

- (void) viewDidLoad { [super viewDidLoad]; [self initVars]; } - (void) initVars { self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeBottom; self.extendedLayoutIncludesOpaqueBars = YES; }

Las propiedades que desea son:

self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeBottom;


Hay un par de nuevas propiedades en iOS7 para controlar esas configuraciones.

edgesForExtendedLayout indica qué bordes deben extenderse (izquierda, derecha, arriba, abajo, todos, ninguno o cualquier combinación de ellos). La extensión del borde inferior es igual a la marca "Debajo de las barras inferiores", mientras que la extensión del borde superior es igual a la marca "Debajo de las barras superiores".

extendedLayoutIncludesOpaqueBars indica si los bordes deben extenderse automáticamente debajo de las barras opacas. Por lo tanto, si combina esas dos configuraciones, puede imitar cualquier combinación de marcas de construcción de interfaz en su código.


Si no desea extenderse a ningún borde, solo agregue:

let viewController = UIViewController() viewController.edgesForExtendedLayout = []