Как отобразить текст с помощью Кварца на iPhone?

Обновление: Как сказал @Paulpro в комментариях, приведенный ниже ответ никогда не сработает, потому что код застрянет в бесконечном цикле. так что вам лучше пойти с обещаниями


Я советую, как @ happy-machine & amp; @bergur, лучше использовать обещания. но если вы хотите знать, как работает fs.readFileSync(), прочитайте код модуля fs в исходном коде nodejs .

Вы обнаружите, что он выполняет do {} while(), и вы можете сделать то же самое, чтобы синхронизировать свой асинхронный код, как этот

var rows;
executeQuery('SELECT * FROM table').then(
  promiseResponse => {
   rows = promiseResponse
  }
)
do {
  // nothing
} while(!rows) // rows is undefined
console.log('database query completed:', rows);

7
задан don 17 January 2013 в 22:04
поделиться

2 ответа

Вот фрагмент кода, который я использую.

UIColor *mainTextColor = [UIColor whiteColor];
[mainTextColor set];
drawTextLjust(@"Sample Text", 8, 50, 185, 18, 16);

И:

static void drawTextLjust(NSString* text, CGFloat y, CGFloat left, CGFloat right,
                          int maxFontSize, int minFontSize) {
    CGPoint point = CGPointMake(left, y);
    UIFont *font = [UIFont systemFontOfSize:maxFontSize];
    [text drawAtPoint:point forWidth:right - left withFont:font
       minFontSize:minFontSize actualFontSize:NULL
       lineBreakMode:UILineBreakModeTailTruncation
       baselineAdjustment:UIBaselineAdjustmentAlignBaselines];
}
7
ответ дан 6 December 2019 в 12:56
поделиться

Хорошо, я понял. Во-первых, измените режим кодирования на kCGEncodingMacRoman. Во-вторых, вставьте под ним эту строку:

CGContextSetTextMatrix(canvas, CGAffineTransformMake(1, 0, 0, -1, 0, 0));

Устанавливает матрицу преобразования для текста, чтобы он отображался правильно. Если вы не вставите эту строку, ваш текст будет перевернут и перевернут. Понятия не имею, почему это не было по умолчанию. Наконец, убедитесь, что вы установили правильный цвет заливки. Это легко сделать, если вы забудете изменить цвет фона на цвет текста и в итоге получите белый текст на белом фоне.

9
ответ дан 6 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: