Cómo escribir diferentes tipos de conversiones en código ios
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: