Я работаю над функцией добавления текста для моего приложения.Этот текст будет добавлен с CGContext и Quartz 2D.Переменная text
извлекается из свойства текста UITextField.
Вот код, который у меня есть:
CGRect textBox = CGRectMake(0, 0, 300, 200);
UIView *textView = [[UIView alloc] initWithFrame:textBox];
const char *textChar = [text UTF8String];
NSInteger xLocation = (contentOffset.x + 100);
CGContextSelectFont (UIGraphicsGetCurrentContext(), "Helvetica", 14.0f, kCGEncodingMacRoman);
CGContextSetShouldSmoothFonts(UIGraphicsGetCurrentContext(), YES);
CGContextSetCharacterSpacing (UIGraphicsGetCurrentContext(), 10);
CGContextSetTextDrawingMode (UIGraphicsGetCurrentContext(), kCGTextFill);
CGContextSetRGBFillColor (UIGraphicsGetCurrentContext(), 255, 255, 255, 1.0);
CGContextShowTextAtPoint (UIGraphicsGetCurrentContext(), xLocation, 110, textChar, 9);
[drawGallery addSubview:textView];
У меня есть несколько проблем с этим:
Текст переворачивается - (это легко исправить с помощью преобразования, но у учебника, которого я придерживался, этой проблемы не было, поэтому я немного запутался LINK ).
Текст отображается со странными символами - я думаю, что это проблема с кодировкой, но как мне это настроить?
Текст не 'Его не добавляют к представлению в строке addSubview
, оно добавляется только при обновлении CGContext, т.е. у меня тоже есть функция рисования линий, и если я рисую в представлении, то текст волшебным образом всплывает.
Текст ужасно зазубренный и плохо прорисован, могу ли я что-то сделать для этого?Я добавил CGContextSetShouldSmoothFonts
, но он, похоже, ничего не делает.
Пример приведен ниже:
Спасибо за любую помощь, которую вы можете оказать.