В классе NSFont есть метод, который может дать вам размер прямоугольника, который будет заключать в себе определенную приписанную строку. Получите шрифт, используемый вашим текстовым представлением, создайте строку, которая служит разумным примером того, что будет в текстовом представлении, и используйте это, чтобы сообщить высоту вашего кадра. (Высота кадра должна быть на несколько точек больше, чем фактический прямоугольник, в котором будет отображаться строка.)
Кроме того, вы можете получить различные метрики из шрифта и попытаться рассчитать разумный кадр из этого. Это может или не может работать; например, такой шрифт, как Apple Chancery, имеет огромное количество вариаций в зависимости от визуализируемых глифов, места в слове и т. д .; Я не знаю, что вы можете заранее рассчитать, какой будет необходимый размер, не зная точно, что вы собираетесь визуализировать.