Поэтому я использую следующий код, чтобы применить штрих (и заполнить) к тексту в UILabel
, и он выходит как изображение ниже. Ход тяжелее с одной стороны, чем другой (посмотрите на верхнюю часть букв по сравнению с нижней, а справа по сравнению с левым. Период в конце делает его очень заметным, тоже выглядит как глазу). У меня вообще нет тени, поэтому я не думаю, что это тень, мешающая удару.kCGTextStroke's Fill and Stroke не установлены правильно
Что может быть причиной этого?
- (void) drawTextInRect: (CGRect) rect
{
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetTextDrawingMode(c, kCGTextFillStroke);
CGContextSaveGState(c);
CGContextSetRGBFillColor(c, 1.0, 0.0, 0.0, 1.0);
CGContextSetRGBStrokeColor(c, 0.0, 1.0, 0.0, 1.0);
[super drawTextInRect: rect];
CGContextRestoreGState(c);
}
EDIT: Итак, для пинков, я взял на взгляд на этикетке только с заливкой, и только инсультом. Отключение штриха создает совершенно нормальный фрагмент текста, как будто я просто поместил его в Interface Builder. Однако при выключении заливки отображается только штрих, который не выглядит тяжелее на любой стороне, чем любой другой. ** Это заставляет меня думать, что проблема заключается в том, что вопрос , где заполняется по отношению к штриху, и что ни сам по себе, ни сам по себе удар не виноват. Любые другие мысли по этому поводу? Как я могу получить заполнение с центром в штрихе?
Разве вы не должны просто использовать 'kCGTextFillStroke' в качестве режима рисования и рисовать только один раз (с отдельными настройками инсульта и заливки) или инсульт после заливки? –
@ DavidRönnqvist Это, похоже, помогло. Если вы хотите написать ответ, я могу отметить его. Кажется странным, что порядок будет иметь значение, нет? – Luke