iphone - solo - Establecer la máscara de aumento automático de UIView mediante programación?
la pantalla de mi iphone se ve opaca (5)
Para establecer el margen superior flexible, el margen inferior, el margen izquierdo y el margen derecho de una UIView, escriba el siguiente código:
autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
Tengo que establecer autoresizingMask programáticamente para UIView
.
No sé cómo implementar esto.
Para lograr lo que tienes en esa captura de pantalla, debes hacer lo contrario de lo que DrummerB sugiere. Desea un margen superior fijo para que todos los demás lados sean flexibles de esta forma:
C objetivo:
view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleBottomMargin;
No establecer un lado tan flexible significa que será fijo (comportamiento predeterminado), por eso no existe algo como UIViewAutoResizingFixedTopMargin (ya que es lo mismo que no configurar UIViewAutoresizingFlexibleTopMargin)
Editar para Swift:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Gracias a Tom Calmon por agregar la versión rápida 1st.
Aclamaciones.
autoresizingMask
establecer la propiedad de autoresizingMask
la vista:
view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
Los valores posibles se definen en UIViewAutoresizing
:
enum {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;
Puede establecer múltiples valores con el operador O bit a bit |
.
Swift 2.0:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Swift 4.1:
view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]