1

我在我的一个 iPhone 应用程序中的 UIWebView 中显示 HTML 内容。

检查以下2张图片:

https://dl.dropboxusercontent.com/u/68104003/Screen%20Shot%202013-05-11%20at%2011.47.02%20AM.png https://dl.dropboxusercontent.com/u/68104003/Screen%20Shot %202013-05-11%20at%2011.47.28%20AM.png

我为这两个标题使用了相同的 HTML 代码,但它在屏幕上显示不同的字体大小。

以下是我使用的 HTML 代码:

<span style="font-size:19px;"><strong><span style="font-family:times new roman,times,serif;">4.6&nbsp;&nbsp;Lorem Ipsum is simply</span></strong></span></br>

<span style="font-size:19px;"><strong><span style="font-family:times new roman,times,serif;">4.4&nbsp;&nbsp;Type and Scrambled</span></strong></span></br>

请帮忙。

4

3 回答 3

2
    <meta name=\"viewport\" content=\"initial-scale=5.0\" /> 

将此添加到对我有用的 html 字符串中 根据需要更改初始比例

于 2017-10-12T03:46:22.010 回答
1

我使用下面的代码来修复字体大小和文本对齐问题。希望对您有所帮助。

- (void)viewDidLoad
{   [super viewDidLoad];
currentTextSize = 100;
webview.userInteractionEnabled=YES;
webview.delegate=self;
webview.scalesPageToFit=YES;
webview.scrollView.pagingEnabled = YES;}

-(void)webViewDidFinishLoad:(UIWebView *)webView{
NSString *varMySheet = @"var mySheet = document.styleSheets[0];";
NSString *addCSSRule =  @"function addCSSRule(selector, newRule) {"
"if (mySheet.addRule) {"
"mySheet.addRule(selector, newRule);"                               // For Internet Explorer
"} else {"
"ruleIndex = mySheet.cssRules.length;"
"mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);"   // For Firefox, Chrome, etc.
"}"
"}";
 NSString *insertRule2 = [NSString stringWithFormat:@"addCSSRule('p', 'text-align: justify;')"];
NSString *insertRule1 = [NSString stringWithFormat:@"addCSSRule('html', 'padding: 0px; height: %fpx; -webkit-column-gap: 0px;')", webView.frame.size.height];

NSString *setTextSizeRule = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')", currentTextSize];
 [webView stringByEvaluatingJavaScriptFromString:varMySheet];
[webView stringByEvaluatingJavaScriptFromString:addCSSRule];
[webView stringByEvaluatingJavaScriptFromString:insertRule1];
[webView stringByEvaluatingJavaScriptFromString:insertRule2];
[webView stringByEvaluatingJavaScriptFromString:setTextSizeRule];}
于 2013-05-11T07:12:56.553 回答
0

UIWebView 支持缩放,这自然会影响类型的大小。很可能当您看到较大的类型时,您只是进一步放大了,可能是因为两个页面的宽度不同。

于 2013-05-11T06:39:14.380 回答