2009-04-04 8 views
5

Creé un UITextField de tipo campo de texto redondeado, utilizando el Creador de interfaz, por lo que para establecer la Altura de un campo de texto su ventana estaba deshabilitada (no para establecer ninguna altura manualmente) en SizeInspector .so si queremos establecer la altura manualmente, qué procedimiento deberíamos seguir.Cómo configurar la altura de un campo de texto en el inspector de tamaño

Una cosa que me gustaría mencionar es que podemos hacer eso en la parte de codificación, pero lo que me gustaría saber es cómo podemos lograr eso en Interfacebuilder.

Las respuestas de usted siempre fueron apreciadas.

Respuesta

8

Desafortunadamente, no puede establecer la altura de un UITextField utilizando el Generador de interfaces. Usted tendrá que establecer mediante programación y estar seguro de que no se rompe cualquier regla de iPhone Human Interface Guidelines

+40

En realidad, puede establecer la altura de cualquier UITextField que no tenga el estilo 'UITextBorderStyleRoundedRect'. Si lo modifica, puede cambiar el tamaño en IB. – zekel

+0

sí, funcionó para mí. Gracias :) – Pritesh

+1

En realidad, hay una manera de lograr esto, ver [esta respuesta] (http://stackoverflow.com/a/35018308/3340702). – lifeisfoo

1

aumento del tamaño de la fuente y la altura de la caja aumentará

+0

Esto no funciona, aumente el tamaño del texto y la altura permanece fija. – TheJeff

1

Cambie la propiedad estilo del borde del campo de texto a algo que no sea el rectángulo redondeado. Después de eso, puedes establecer libremente la altura de la caja.

2

Puede cambiar la altura de UITextField editando el archivo .xib. Simplemente ábralo usando Textedit o Dashcode y busque el IBUITextField. Edite el parámetro NSFrame al tamaño que desee.

0

Después de jugar un poco, me di cuenta de que UITextField se puede considerar como un UIButton (estilo Redondeado) con un UILabel encima. O bien, es una UITextView en la parte superior del estilo UIButton Redondeado rect. El número de líneas, dimensiones y posición de la etiqueta dentro del botón se puede ajustar fácilmente en IB.

En mi caso, quería un campo de texto de solo lectura, así que usé UILabel encima de UIButton. Ajusté el tamaño del botón según el requisito y también el tamaño de la etiqueta. También tuve que desmarcar la casilla 'Habilitar' para el botón en IB para que no se resalte al tocar.

0

Haga clic con el botón derecho en el archivo .xib y haga clic en "Abrir como" -> "Código fuente". Luego busque el NSFrame de UITextField. Cambia la altura como quieras.

13

Cambiar el estilo de borde, así:

screen shot

+0

Sí. Pero obliga al texto a alinearse verticalmente desde el centro – user3144836

0

Usted puede cambiar fácilmente que el uso de código fuente. Simplemente haga clic derecho en su guión gráfico, ábralo como código fuente, luego busque su campo de texto y cambie la altura.

+0

Esa es la forma más fácil de hacerlo. – Masih

0

La manera más fácil que he encontrado para lograr esto es cambiar el estilo del borde y luego editar los otros atributos a su gusto. Aquí hay un ejemplo.

emailField.layer.borderColor = [[UIColor blackColor] CGColor]; 
emailField.layer.borderWidth = 2.0f; 
emailField.layer.cornerRadius = 8.0f; 
emailField.alpha = .75f; 
emailField.layer.backgroundColor = [[UIColor whiteColor] CGColor]; 

! enter image description here

1

Solución exitosa con mi condición: Después de intentar todas las formas anteriores, no pude cambiar la altura de UITextField. Finalmente, descubrí que puse UITextField en la vista de pila (o se vio afectado por algunas restricciones).

Entonces, agregué Height Constraint para UITextField y luego puse mi altura esperada en Constant de Restricción. Y funciona. Especialmente, funciona para todo tipo de borde (Ninguno, Línea, Bisel, Redondeado). No se necesita código.

0

Resolví el problema de la altura del campo de texto (con rectitud redondeada). Debe definir la restricción de altura para su objeto de campo de texto.

Defina la restricción de altura para el campo de texto.

0

podemos cambiar la altura del campo de texto con cualquier tipo de estilo de borde que no sea rectángulo redondeado, simplemente arrastrando. Pero para los campos de Texto de rectángulo redondeado no es posible ... por supuesto, podemos cambiar la altura usando algún código.

Y aquí encontré una manera simple. Funcionó para mí

  1. Seleccione el campo de texto y en la esquina abajo a la derecha podemos ver la opción pasadores ..

  2. Hay seleccionar la altura constriñen es 30 predefinido ...

  3. seleccione esa altura y puede ver que "Agregar 1 restricción" está habilitado.
  4. Haga clic en eso ... por lo tanto, hemos agregado la restricción de altura para ese campo de texto.
  5. Ahora vaya al inspector de tallas. Allí encontrará la restricción de altura en "Restricciones" ... que está por encima de la "Prioridad de abrazar contenido"
  6. Puede editar la altura allí ... otorgar el valor que desee. Ahora vea el campo de texto que se ha cambiado a su altura que ha dado.

Funcionó para mí :) Se puede utilizar este escenario para UISwitch, por segmentos, etc ..

0

Como @ peterdoesco.de dicho, sólo añadir una restricción de altura, y cambiar su valor, esto puede trabajar bien .

Cuestiones relacionadas