2012-04-12 13 views
5

cuando coloco un botón en la parte superior izquierda de la ventana, que se alinea exactamente igual que yo esperaría:¿Cómo alinear una vista con el lado superior izquierdo de una ventana?

http://stuf.ro/Button.png

También no cambia de tamaño, junto con la ventana, lo cual es bueno. Si trato de hacer lo mismo con una vista personalizada sin embargo, se agrega automáticamente restricciones a la parte inferior ya la derecha, lo que hace la vista cambiar el tamaño, junto con la ventana:

http://stuf.ro/View.png

¿Cómo me deshago ¿de estos? Me gustaría que la vista nunca cambiara de tamaño, y me gustaría que esté anclado en el lado superior izquierdo de la ventana, como un botón.

Si trato de seleccionar la restricción y presionar la tecla Retroceso, no ocurre nada. La opción "Eliminar" en el menú de edición también está deshabilitada.

+0

¿Ha comprobado los controles de autosizing en el Inspector de tamaño? – Wienke

+0

@Wienke, sí, los revisé. Debo haber girado todas las perillas allí y en el inspector de atributos para cada restricción, pero no pude obtener el comportamiento deseado. – rid

+0

¿De verdad? Acabo de probarlo, y al quitar el puntal derecho y el bastidor horizontal, puedo congelar el ancho de una subvista. Observo que los controles en las capturas de pantalla son diferentes a los de Xcode 4. ¿O tal vez ha agregado un código que especifica los atributos de autoescala para esta vista? Eso superaría cualquier cosa que hagas en el diseño visual. – Wienke

Respuesta

9

Su vista cambia de tamaño porque tiene restricciones que indican que el espacio encima de él, debajo de él, a su izquierda, y hacia la derecha debe ser reparado. Estas son las líneas que puede ver alrededor de su vista en la captura de pantalla. La única forma de satisfacer estas restricciones a medida que la ventana cambia de tamaño es que la vista cambie de tamaño.

Puede seleccionar las líneas de restricción para modificarlas o eliminarlas. Podría pensar que podría eliminar los que están debajo y a la derecha, y su vista ya no tendrá que cambiar el tamaño para satisfacer las restricciones restantes, pero eso no funciona. La vista necesita un (conjunto de) restricciones que especifiquen tanto el tamaño como el espaciado: tener las restricciones de espaciado (creadas automáticamente) en cada lado implica tamaño, pero si se deshace de una de ellas, el tamaño ya no se especificará. (Esta es la razón por la que no puede deshacerse de las restricciones creadas automáticamente, las que aparecen como líneas azules estrechas en la vista y con iconos morados en el contorno del documento.)

Esto no es un problema para el botón porque los botones saben cómo clasificarse a sí mismos, y el IB sabe cómo se dimensionan los botones. IB no sabe acerca de su vista personalizada, por lo que debe configurar las restricciones usted mismo. Con la vista seleccionada, elija Editor> Pin> Ancho para crear una restricción de ancho. Esto crea una restricción de ancho y convierte las restricciones de espacio existentes en restricciones de usuario (en lugar de las automáticas): aparecen como líneas continuas y tienen iconos azules en el contorno del documento.

Ahora puede seleccionar la restricción de espaciado a la derecha y eliminarla, y su vista mantendrá su ancho y se mantendrá a la izquierda. Repita para la altura y el espacio a continuación y su vista se mantendrá en la esquina superior izquierda y no cambiará de tamaño.

Puede leer más sobre el nuevo sistema de diseño automático in Apple's guide.

+0

¿Cómo los elimino? Intenté seleccionarlos y presioné la tecla Retroceso, pero no pasó nada. Actualizó la pregunta. – rid

+0

Olvidé que no puedes simplemente eliminar las restricciones creadas automáticamente. He editado la respuesta para explicar por qué y qué hacer. – rickster

0

Seleccione su vista. Vaya al "Inspector de archivos" y desactive "Usar diseño automático". D

Cuestiones relacionadas