Simulación del comportamiento de UILabel en OSX

Quiero simular el comportamiento de UILabel multilínea en una aplicación OSX. ¡Dibujar una label multilínea puede especificar el número de filas y el sistema de alignment funciona de maravilla!

Aquí un ejemplo de lo que quiero lograr.

Esta es la cadena que quiero mostrar con un UILabel

Lorem Ipsum is simply dummy text of the printing and typesetting industry. 

Puedo seleccionar una label de 3 líneas con el truncado de queue obteniendo:

  Lorem Ipsum is simply dummy text of the printing and typeset... 

o con una label de 2 líneas con truncamiento de queue, obtengo:

  Lorem Ipsum is simply dummy text of the pri... 

Supongo que necesito una API de bajo nivel para dibujar una cadena de esa manera.

Actualmente encuentro 3 maneras diferentes de dibujar text y quiero entender cuál es la correcta para llevar a cabo esta tarea.


Texto de cocoa

NSTextView y NSTextField: parece ser un nivel demasiado alto … No puedo reproducir este efecto (The NSTextView no me permite elegir el número de filas, y el salto de línea parece transformar la multi línea NSTextView en un solo línea NSTextView).

Editar Pensé en get el marco de una cadena, luego obtengo las líneas del marco y reconstruyo el marco usando solo las líneas necesarias. ¿Qué piensas?


Texto principal

Tengo un gran control del dibujo de text usando frameworks, pero … no puedo encontrar una manera de definir cuántas filas mostrar y cómo truncar la cadena.


NSLayoutManager

También parece ser una buena solución, pero no sé cómo reproducir el efecto multilínea UILabel.

¿Tienes algunas sugerencias para ayudarme en esta tarea difícil?