Colección de citas famosas - Slogan de motivación - Cómo escribir diferentes tipos de conversiones en código ios

Cómo escribir diferentes tipos de conversiones en código ios

Principio: después de IOS6.0, Apple optimizó el diseño de la interfaz UI y propuso el concepto de diseño automático, que es más poderoso que la función de cambio de tamaño automático anterior. Muestra subvistas basadas en el diseño automático de la vista principal. La vista principal agrega restricciones a las vistas secundarias.

A lo que me refiero principalmente aquí es a la vista de diseño automático a través del código.

Hay dos formas de agregar restricciones comúnmente utilizadas en el código:

1.-(void)agregar restricción: (NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0) ;

2.-(void) agregar restricciones: (NSArray *) restricciones NS_AVAILABLE_IOS(6_0);

& lt& lt/span>.

Antes de usar el diseño automático, debe ajustar el modo de diseño de la subvista y usar las propiedades de UIView.

-(BOOL) traduceAutoresizingMaskIntoConstraints NS_AVAILABLE_IOS(6_0); //El valor predeterminado es sí

Necesita configurarlo en no;

& gt

Aquí hay un ejemplo simple para ilustrar:

ui view * v 1 =[[ui view alloc]initWithFrame:CGRectZero];

v 1. Translatesautoresizingmaskintoconstraints = NO

v 1. p>

v 1 . color de fondo = [color de interfaz de usuario color rojo];

[self view addSubview:v 1]; ver alloc] initWithFrame:CGRectZero];

v2 . color de fondo = [color de interfaz de usuario gris];

v2 . addSubview:v2]; //Agrega dos subvistas que permiten el diseño automático.

[self . view agregar restricción:[NSLayoutConstraint restricción con elemento:v 1

Atributo: NSLayoutAttributeWidth

Relacionado: NSLayoutRelationEqual

toItem :self.view

Atributo: NSLayoutAttributeWidth

Multiplicador: 1.0

Constante: 0]] //Establece el ancho de la subvista para que sea el mismo que el padre Las vistas tienen el mismo ancho.

[self . view agregar restricción:[NSLayoutConstraint restricción con elemento:v 1

Atributo: NSLayoutAttributeHeight

Relacionado: NSLayoutRelationEqual

toItem :self.view

Atributo: NSLayoutAttributeHeight

Multiplicador: 0,5

Constante: 0]] //Establece la altura de la subvista a la mitad de la vista principal; de.

[self . ver agregar restricciones:[NSLayoutConstraint restricciones con formato visual:@"H:|-0-[v 1][v2 (= = v 1)]-0-|"Opción: 0 Indicador: Sin vista: Vista] // Agregue el control de v1 en la dirección horizontal a través de addConstraints: la distancia desde el lado izquierdo de la vista principal es 0 (también se puede omitir si la distancia es 0) y establezca el El ancho de v2 en la dirección horizontal es el mismo que v1.

[self . view agregar restricciones:[NSLayoutConstraint restricciones con formato visual:@"V:|-0-[V 1][v2 (== V 1)]|"opciones:0 métricas:nil views:views】;/Agregue el control de v1 en la dirección vertical a través de addConstraints: la distancia al lado superior de la vista principal es 0 (se puede omitir si la distancia es 0) y establezca la altura vertical de v2 en lo mismo que v1.

[self . ver agregar restricciones:[NSLayoutConstraint restricciones con formato visual:@"V:|-0-[V 1]-0-[v2]-0-|"opciones:0 métricas:nil views:views]; //Finalmente, hay dos subvistas en el diseño vertical.

De esta forma se pueden realizar las vistas superior e inferior ocupando cada una la mitad. El diseño también se maneja automáticamente cuando gira la pantalla. Puede parecer mucho código, pero se puede adaptar a múltiples resoluciones de pantalla. No se descarta que Apple lance en el futuro teléfonos móviles más grandes y con mayor resolución.

Acerca de constraintsWithVisualFormat: Introducción a la función:

ConstraintsWithVisualFormat: el parámetro es NSString, que especifica si el atributo de Constraint es una restricción vertical o una restricción horizontal. La definición del parámetro suele ser la siguiente:

v:|-(>=XXX): significa mayor, igual o menor que una cierta distancia relativa a SuperView en la dirección vertical.

Si quieres definir la dirección horizontal, simplemente cambia V: a H:.

Establezca el alto/ancho de la vista/control actual entre corchetes después de -[]

Opción: el valor del tipo de diccionario aquí generalmente está en la enumeración definida por el sistema; elegir.

Indicador: cero; generalmente nulo, el tipo de parámetro es NSDictionary, //la métrica se pasa desde afuera.

Vista: Es la vista encuadernada agregada al NSDictionary anterior.

A lo que debemos prestar atención aquí es a la diferencia entre AddConstraints y addconstraints. Uno de los parámetros agregados es NSArray y el otro es NSLayoutConstraint.

Reglas de servicio

|: Representa la vista principal.

-: Indica distancia

v:: Indica vertical.

h::Representa horizontal

& gt=: Indica que el espaciado de vista, el ancho y el alto deben ser mayores o iguales a un determinado valor.

& lt=: Indica que el espaciado de vista, el ancho y el alto deben ser menores o iguales a un determinado valor.

= =: Indica que el espaciado, ancho o alto de la vista debe ser igual a un valor determinado.

@:>=, <=, =El límite máximo es 1000.

1.|-[Ver]-|: La vista se encuentra dentro de los bordes izquierdo y derecho de la vista principal.

2.|-[Ver]: La vista está ubicada en el borde izquierdo de la vista principal.

3.|[Ver]: La vista y la vista principal están alineadas a la izquierda.

4.-[Ver]-: Establece el ancho y alto de la vista.

5.|-30.0-[Ver]-30.0-|: Indica que la distancia desde la vista principal es 30.

6. [Ver (200.0)]: Indica que el ancho de la vista es 200.0.

7.|-[Vista (Vista 1)]-[Vista 1]-|: Indica que las vistas tienen el mismo ancho y están dentro de los bordes izquierdo y derecho de la vista principal.

8.V:|-[Ver (50.0)]: La altura de la vista es 50.

9:V:|-(== padding)-[imageView]->= 0-[button]-(== padding)-|: Indica la distancia desde la vista principal.

Para el relleno, la distancia entre las dos vistas debe ser mayor o igual a 0, y la distancia desde la vista principal inferior debe ser relleno.

10: [widewiew(>=60@700): El ancho de la vista debe ser al menos 60, pero no más de 700.

11: Si no se declara ninguna dirección, el valor predeterminado es V horizontal: