Die Schriftgrößen in UIWebView stimmen nicht mit der iOS-Schriftgröße überein

8

Hier ist ein UILabel, das "About" sagt. In iOS auf genau 17,7 eingestellt.

Darunter ein UIWebView, der auch "About" sagt. Auch mit CSS genau auf 17,7 eingestellt.

Sie stimmen nicht überein.

Wie behebt man das richtig?

Es ist seltsam, dass in Apples eigenem UIWebView die Größenbasis anders ist ?

Html zum Testen ...

%Vor%

Das Verhalten ist auf dem Gerät oder Simulator identisch.

(Hinweis: hier habe ich gelernt, dass das Verhältnis vielleicht 72,0 / 96,0 ist.)

    
Fattie 05.07.2016, 12:15
quelle

3 Antworten

10

Wenn Sie eine 1: 1-Beziehung zwischen der Schriftgröße, die der UILabel verwendet, und der Schriftgröße, die der UIWebView verwendet (via CSS), möchten, müssen Sie px anstelle von pt verwenden Schriftgröße in Ihrem CSS.

Beende dieses Beispiel HTML / CSS:

%Vor%

Wenn Sie eine UIWebView und eine UILabel zu Ihrer UIViewController hinzufügen und den obigen HTML-Code in die UIWebView laden und dieselbe Schriftart auf UILabel setzen:

%Vor%

Sie erhalten folgende Ausgabe:

    
joern 11.07.2016, 20:15
quelle
0

Ich glaube, Ihre Verwirrung lag daran, dass CSS pt ein typografischer Punkt ist (1/72 in), aber Apples iOS-Dokumentation verwendet "point" (z. B. UIFont.pointSize) als "virtuelles Pixel", was CSS px entspricht. Gemessen an @ joerns Antwort sieht es so aus, als ob UIWebView 1 css px = 1 ios virtual px verwendet. (Ich habe das nicht getestet.) In meinen Tests mit WKWebView sieht es jedoch so aus, als ob CSS px einem Gerätepixel entspricht. Also für WKWebView wollen Sie:

%Vor%     
prewett 18.08.2017 19:42
quelle
-2

Ja, es ist ein Problem mit der übergeordneten Schriftgröße:

Sie sollten immer die Schriftgröße für Körper 16px eingestellt (man kann es höher eingestellt, wenn eine größere Basis-Schriftart erforderlich ist, ist der Standard 16px).

Stellen Sie dann die Schriftgröße mit 16px als Basis ein.

%Vor%

Wenn Sie sowohl der Körper und die h1 font-Größen den gleichen dann einfach stellen Sie den Körper font-size sein und nicht setzt die Schriftgröße des h1 (es wird den Körper font-size alle auf erben seine eigene ... aka ... Kaskadierung).

%Vor%

Was Sie getan haben, ist, die Schriftgröße des Körpers auf einen Wert zu setzen ... dann setzen Sie die Schriftgröße h1 auf denselben Wert, das Problem ist, dass h1 die Schriftgröße vom Körper übernimmt und dann noch größer wird, wenn Sie weisen h1 eine Schriftgröße zu.

Ich hoffe, das macht Sinn und hilft.

    
Lowkase 05.07.2016 13:13
quelle

Tags und Links