Рендеринг текста в Ma c OS X, показывающий разные результаты для целевой ОС приложения 10.14 и более ранних версий - PullRequest
0 голосов
/ 15 января 2020

Я пытался сделать PO C для пользовательского рендеринга текста на Ma c OS X, и я столкнулся с ситуацией, когда, если я создаю свое приложение для Ma c OS версии 10.14, я получаю другие результаты против того, когда я компилирую приложение для более низкой версии, скажем, OS 10.13.

Если мы сравним прикрепленные изображения, мы увидим после увеличения обоих изображений, что одно изображение, снятое для приложения, скомпилированного для целевой ОС 10.13, имеет больше места над текстом, чем другое изображение захвачено для приложения, скомпилированного для целевой ОС 10.14.

Кто-нибудь знает, что изменилось в ОС 10.14?

Image from app compiled for OS 10.13

Image from app compiled for OS 10.14

Я использую NSView для визуализации моего текста.

 - (void)drawRect:(NSRect)dirtyRect 

{

    [backColor setFill];
    NSRectFill(dirtyRect);
    [super drawRect:dirtyRect];

    // Drawing code here.
    if(text != nil)
    {
        NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName,fontColor, NSForegroundColorAttributeName, nil];
        NSAttributedString * currentText=[[NSAttributedString alloc] initWithString:text attributes: attributes];
        [currentText drawAtPoint:NSMakePoint(0, 0)];
    }

}

...