46

サーバーから取得したリッチ テキストを表示する必要があるため、UIWebView を使用しています。問題は、UIWebView で使用されるフォントを制御できないことです。システム フォントを使用するようにフォントを変更するにはどうすればよいですか (アプリケーションの残りの部分と一貫性を持たせるため)。

私は現時点でこのようなことをしています:

myRichTextView = [[UIWebView alloc] initWithFrame:CGRectMake(x, y, width, height)];
myRichTextView.backgroundColor = [UIColor clearColor];
[myRichTextView setScalesPageToFit:NO];
[myRichTextView loadHTMLString:myString baseURL:[NSURL URLWithString:myBaseURL]];

ここでも、表示フォントを制御する必要があります。フォントを制御できない場合は、UIWebView の他の代替案を教えてください。

ありがとう

4

9 に答える 9

103

このように文字列を変更すると機能しました。あなたの右のクリス、それは何の違いも生じないはずです。

NSString *myDescriptionHTML = [NSString stringWithFormat:@"<html> \n"
                                "<head> \n"
                                "<style type=\"text/css\"> \n"
                                "body {font-family: \"%@\"; font-size: %@;}\n"
                                "</style> \n"
                                "</head> \n"
                                "<body>%@</body> \n"
                                "</html>", @"helvetica", [NSNumber numberWithInt:kFieldFontSize], content];
于 2009-01-17T06:10:35.243 に答える
22

HTML ドキュメントで css スタイル シートを参照するか、スタイル情報を HTML ドキュメント自体の先頭に配置します。

于 2009-01-16T08:23:43.953 に答える
15

Web ビューで次の CSS を使用して、あなたが言っていることを正確に実行します。

body
{
    font-family:helvetica;
}

しかし、あなたのものも同様に機能するはずです。変。私が見ることができる唯一の違いは、フォントとフォントファミリですが、違いはありません

クリス。

于 2009-01-16T14:44:46.067 に答える
11

システム フォント

-iOS 9 および Safari OS X 10の apple-system

font-family: -apple-system;
font-family: '-apple-system','HelveticaNeue'; // iOS 8 compatible
于 2015-12-08T04:50:29.580 に答える
6

私のために働いた別の簡単な方法

    UIFont *font = [UIFont systemFontOfSize:15];

      NSString *htmlString = [NSString stringWithFormat:@"<span style=\"font-family:Helvetica; font-size: %i\">%@</span>",
                     (int) font.pointSize,
                     [bodyText stringWithNewLinesAsBRs]];
       [myWebView loadHTMLString:htmlString baseURL:nil];
于 2014-07-04T07:50:57.467 に答える
4

ただ変える

font:helvetica

font-family:helvetica

于 2010-02-09T04:19:37.977 に答える
2

より多くのフォント設定を使用して、使いやすく拡張しやすいソリューションを次に示します。

                myHTMLLabel = [[UIWebView alloc] initWithFrame:CGRectMake(myX,myY,myWidth,myHeight)];

                myHTMLLabel.userInteractionEnabled=NO;
                myHTMLLabel.scalesPageToFit=NO;

                [myHTMLLabel setOpaque:NO];
                myHTMLLabel.backgroundColor = myBackColor;

                NSString *myHTMLText = [NSString stringWithFormat:@"<html>"
                                        "<head><style type='text/css'>"
                                        ".main_text {"
                                        "   display: block;"
                                        "   font-family:[fontName];"
                                        "   text-decoration:none;"
                                        "   font-size:[fontSize]px;"
                                        "   color:[fontColor];"
                                        "   line-height: [fontSize]px;"
                                        "   font-weight:normal;"
                                        "   text-align:[textAlign];"
                                        "}"
                                        "</style></head>"
                                        "<body> <SPAN class='main_text'>[text]</SPAN></body></html>"];

                myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[text]" withString: myText];
                myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontName]" withString: myFontName];
                myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontSize]" withString: myFontSize];           
                myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontColor]" withString: myFontColorHex];
                myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[textAlign]" withString: myFontAlign];


                NSLog(@"*** renderHTMLText --> myHTMLText: %@",myHTMLText);

                [myHTMLLabel loadHTMLString:myHTMLText baseURL:nil];
于 2014-05-18T02:58:34.793 に答える
2

私が使う

body {
        font-family: 'Noteworthy-Bold';
    }

アプリの残りの部分でも Apple の「注目に値する太字」を使用しているため、これは私のアバウトページ (WebView) では問題なく機能します。

独自のフォントを使用する場合は、@font-face を使用して、TTF または EOT ファイルを参照してください。

于 2012-02-05T13:17:38.003 に答える