Символ Unicode не показ

Вам нужно обернуть весь свой контент в контейнер с position: absolute;

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <!-- Ask user to add to home screen -->
        <meta name="mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <link rel="manifest" href="manifest.json">
        <style>
            * {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }
            body,
            html {
                height: 100%;
            }
            .wrapper {
              position: absolute;
              width: 100%;
              height: 100%;
              overflow: auto;
            }
            .teste {
                height: calc(100% - 20px);
                width: 100%;
                content: '';
                background-color: red;
            }
        </style>
    </head>
    <body>
      <div class="wrapper">
        <div class="teste"></div>
        <input type="text" id="texteeee">
      </div>
    </body>
    </html>

7
задан carlos 9 November 2008 в 00:43
поделиться

3 ответа

Оказывается, что CGContextSelectFont только поддерживает Макрочеловека, кодирующего, который является, в основном имеет только маленький набор символов. Для отображения символов Unicode в строке необходимо использовать CGSetFont или систему рисования Какао. CGSetFont требует, чтобы Вы использовали Какао так или иначе, чтобы отобразить символы на глифы и затем привлечь использование глифов CGContextShowGlyphsAtPoint. Я рекомендую изучить другие способы потянуть эти строки, если действительно необходимо отобразить символы Unicode.

Этот код в основном отобразит символ бесконечности:

- (void)drawRect:(CGRect)rect {
    unichar inf = 0x221E; // infinity symbol
    NSString* sName = [[NSString alloc] initWithCharacters:&inf length:1];
    UIFont* font = [UIFont fontWithName:@"Helvetica" size:32.0];
    [sName drawInRect:CGRectMake(20, 20, 40, 40)
             withFont:font];
    [sName release];
}

Также обратите внимание, что на iPhone (и на Mac) Helvetica Neue на самом деле не существует..., его имя просто отображается назад на стандартный Helvetica. Посмотрите таблицу по http://daringfireball.net/misc/2007/07/iphone-osx-fonts для получения дополнительной информации о доступных шрифтах на iPhone.

12
ответ дан 6 December 2019 в 14:11
поделиться

Стоит отметить, что можно все еще использовать функции CGContext рядом - [NSString drawWithRect:] и его кузены. Например, следующий код тянет строку (который может включать любые символы, включая символ бесконечности, который запустил этот поток) с 50%-opaque черными цветами:

CGContextSaveGState(context);
CGContextSetRGBFillColor(context, 0, 0, 0, 0.5);
[self.text drawInRect:targetRect withFont:self.font];
CGContextRestoreGState(context);
2
ответ дан 6 December 2019 в 14:11
поделиться

Вы хотите избежать использования drawInRect: withFont: (в MonoTouch: DrawString (string, RectangelF, UIFont font) в качестве этого API до тех пор, пока iPhoneOS 4.0 не будет отображать строки, которые могут содержать определенные символы Unicode (например, дингбаты), и автоматически отключит рендеринг в этот момент.

Вместо этого вы должны использовать drawInRect: withFont: lineBreakMode: alignment: (в MonoTouch это метод DrawString (string msg, RectangleF rect, UIFont font, UILineBreakMode breakMode, UITextAlignment alignment)), поскольку он отображается правильно.

Кроме того, не все шрифты на iPhone являются полным набором шрифтов, вы можете использовать следующую ссылку:

http://daringfireball.net/misc/2007/07/iphone-osx-fonts

Список шрифтов с полным набором символов.

0
ответ дан 6 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

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