stringtranslate.com

Основной текст

Core Text — это API в стиле Core Foundation в macOS , впервые представленный в Mac OS X 10.4 Tiger , опубликованный в Mac OS X 10.5 Leopard и представленный для iPad с iPhone SDK 3.2. Предоставляя C API , он заменяет возможности рендеринга текста ныне устаревших платформ QuickDraw и ATSUI в предыдущих версиях Mac OS X. По словам Apple, Core Text «разработан для высокой производительности и простоты использования», а его API макетирования «простой, последовательный и тесно интегрированный с Core Foundation, Core Graphics и Cocoa». [1]

Функции

Core Text предоставляет следующие непрозрачные типы:

Пример

Следующий код отображает текст «Hello, World!» к данному графическому контексту в Objective-C .

// Подготавливаем шрифт CTFontRef font = CTFontCreateWithName ( CFSTR ( «Times» ), 48 , NULL );     // Создаем атрибутированную строку CFStringRefkeys [ ] = { kCTFontAttributeName }; Значения CFTypeRef [] = { шрифт }; CFDictionaryRef attr = CFDictionaryCreate ( NULL , ( const void ** ) & keys , ( const void ** ) & values , sizeof ( keys ) / sizeof ( keys [ 0 ]), & kCFTypeDictionaryKeyCallBacks , & kCFTypeDictionaryValueCallBacks ); CFAttributedStringRef attrString = CFAttributedStringCreate ( NULL , CFSTR ( «Hello, World!» ), attr ); CFRelease ( атрибут );                             // Рисуем строку CTLineRef line = CTLineCreateWithAttributedString ( attrString ); CGContextSetTextMatrix ( контекст , CGAffineTransformIdentity ); //Используйте это при использовании стандартных координат представления //CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0)); //Используйте это, если координаты представления перевернуты     CGContextSetTextPosition ( контекст , 10 , 20 ); CTLineDraw ( строка , контекст );   // Очистка CFRelease ( строка ); CFRelease ( attrString ); CFRelease ( шрифт );

Рекомендации

  1. ^ Руководство по программированию основного текста: Обзор основного текста

Внешние ссылки