Pregunta Conexión de elementos de menú en aplicaciones basadas en documentos


Ya he hecho un par de preguntas sobre este tema, y ​​realmente no he recibido una respuesta real sobre cómo hacerlo (en realidad recibió el "Tumbleweed Badge" jajaja).

Tengo una aplicación basada en documentos (es decir, el Menu.Xib está separado de MyDocument.Xib).

Supongamos que quiero agregar un botón "Negrita" o un botón Verificar ortografía (elementos que se enumeran en Menú.xib (en Formato> Fuente, etc.) a MiDocumento (la interfaz principal). No puedo encontrar la manera de hacerlo.

Cualquier ayuda sería muy apreciada (recompensaré una respuesta de inmediato si funciona, esto me ha dejado perplejo durante un par de semanas).

Intenté agregar un Administrador de fuentes a MyDocument.Xib y conectar de esa manera, pero el botón Negrita solo lo habilita, no se desactiva. Además, el corrector ortográfico, etc. no se puede activar a través del Administrador de fuentes.

Tiene que haber una mejor manera de hacer esto.

La documentación de Apple es increíblemente vaga.


13
2018-02-03 22:52


origen


Respuestas:


Esto es exactamente para lo que es el objeto Primer Respondedor en IB. Es un objeto proxy para conectar acciones. Cualquier mensaje de acción que se le envíe se pasará por la cadena de respuesta al primer objeto que los acepte. Para las aplicaciones basadas en documentos, la cadena de respuesta incluye el documento actual. Por lo tanto, para conectar el elemento de menú a su documento:

  1. Agregue la acción al Primer Respondedor, si es necesario. Puede hacer esto desde la ventana del inspector de IB.
  2. Conecte la acción al Primer Respondedor como si fuera un objeto normal.
  3. Implementa el método de acción en tu documento.

Si necesita agregar un mensaje al primer respondedor programáticamente, configure el objetivo del objeto para nil.


17
2018-02-04 03:39