Pregunta sobre interface-builder, cocoa – NSTableView con botones Más y Menos

20

¿Cómo puedo hacer algo así?

No encontré ningún objeto apropiado en la biblioteca de Interface Builder.

¿Alguna idea?

Tu respuesta

4   la respuesta
34

después de arrastrarlo en el lienzo, debe configurar su estilo:

Style: Small Square
Mode:  Select Momentary

Se ve mejor. Ahora usa el campo "imagen" para establecerNSAddTemplate yNSRemoverTemplate. Asegúrese de que el campo de la etiqueta esté vacío.

Ok tenemos+"-"y un segmento vacío. Para evitar que el usuario seleccione el último, selecciónelo deSegmento: aparece y apagaHabilitado casilla de verificación (situada junto aEstado: etiqueta).

Y por último, lo que tenemos que hacer es establecer.anchura De los dos primeros segmentos para hacerlos cuadrados.

IrInspector de tallasSeleccionarSegmento 0Apagar "Fijo"casilla de verificación (el segmento debe autorizarse inmediatamente para ajustar la imagen)SeleccionarSegmento 1 y repite el numero 3Ahora, al cambiar el tamaño del control, solo el último segmento cambiará el anchoPóngalo en la parte inferior de la vista de tabla y cambie el tamaño también.

Disfrutar;)

@JeremyP Ver segunda parte de la respuesta.stackoverflow.com/a/22586314/15809 ; puede mezclar un control segmentado con un botón NS para obtener el aspecto, el comportamiento y el tamaño automático ideales. Mecki
Para tu información, ya no se llama Selección de modoNone peroMomentary bithavoc
Me gusta más que la respuesta aceptada porque mantiene todo junto y puedo desactivar el tercer segmento sin cambiar su apariencia. Pero, ¿cómo maneja el cambio de tamaño de una ventana que estira el control? JeremyP
@bithavoc, ya no estoy con XCode / Cocoa y todo. Siéntase libre de editar la respuesta. ratijas
Lo usé en la parte de la ventana que no se puede cambiar de tamaño. pero como sé, es realmente un reto cambiarlo de tamaño. si logras eso, avísame publicando otra respuesta y votaré por ti. ratijas
8

y para las imágenes use el sistema proporcionado por NSAddTemplate y NSRemoveTemplate.

Bien, pero al usar varios botones de degradado, deshabilitar uno de ellos rompe el aspecto. El control segmentado funciona mejor aquí, ya que deshabilitar un solo segmento atenúa el texto o la imagen pero no cambia el fondo. Mecki
8

Actualización para OSX Yosemite

Intenté lograr el mismo aspecto que Mail.app tiene en la vista Cuentas (ventana derecha en mi captura de pantalla).

Logré el resultado deseado siguiendo los pasos a continuación:

Agrega unNSSegmentedControlAgrega dos segmentos y establece la imagen a cada uno:NSAddTemplate Para el+ botónNSRemoveTemplate Para el- botónEstablecer el tamaño de los segmentos parafixed y establece el valor en32 píxelesEl rectángulo al lado de los botones es unNSButton con el estiloGradient.El botón está habilitado peroSe niega en primer lugar se establece entrue para que no se pueda hacer clic.

3

sin embargo, estos botones no se pueden desactivar ya que esto hace que el fondo cambie y, por lo tanto, rompe el aspecto. Otro sugirió el uso de un control segmentado, que es casi perfecto pero los controles segmentados no admiten la clasificación automática, por ejemplo. Si el ancho de la mesa es dinámico. Mi sugerencia es una combinación de ambos. Utilice un control segmentado para los botones reales y un botón de degradado para completar el resto del ancho de la tabla que ahora también puede ser dinámico si el ancho del botón también es dinámico.

Ver mi respuesta a una pregunta similar (con capturas de pantalla):https://stackoverflow.com/a/22586314/15809

Preguntas relacionadas