【问题标题】:iOS increase UIWebView font sizeiOS 增加 UIWebView 字体大小
【发布时间】:2023-03-11 12:35:01
【问题描述】:

我在 Stack Overflow 上寻找解决方案,但没有找到。我的代码是:

CGRect  rect = _postContentView.bounds;
_postContentUIWV = [[UIWebView alloc] initWithFrame:rect];
[_postContentUIWV loadHTMLString:selectedPostCD.content baseURL:nil];

int fontSize = 30;
NSString *jsString = [[NSString alloc] initWithFormat:
    @"document.getElementsByTagName('span')[0].style.webkitTextSizeAdjust='%d%%'",
    fontSize];
[_postContentUIWV stringByEvaluatingJavaScriptFromString:jsString];

[_postContentView addSubview:_postContentUIWV];

还有UIWebView里面的HTML部分:

<p style="text-align: justify;">
    <span style="line-height: 1.5em;">blablablablablabla</span>
</p>

我的代码不会增加UIWebView 内的字体大小。我该如何解决?

【问题讨论】:

  • 你把你的代码放在哪里了?是在webViewDidFinishLoad UIWebView 委托方法中吗?
  • 它在 - (void)viewDidLoad

标签: ios uiwebview


【解决方案1】:

将与_postContentUIWV的创建和初始化相关的代码留在viewDidLoad方法中:

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect  rect = _postContentView.bounds;
    _postContentUIWV = [[UIWebView alloc] initWithFrame:rect];
    _postContentUIWV.delegate = self;
    [_postContentUIWV loadHTMLString:selectedPostCD.content baseURL:nil];
    [_postContentView addSubview:_postContentUIWV];
}

将与评估jsString 相关的代码移至webViewDidFinishLoad 方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    int fontSize = 30;
    NSString *jsString = [[NSString alloc] initWithFormat:
        @"document.getElementsByTagName('span')[0].style.webkitTextSizeAdjust='%d%%'",
        fontSize];
    [_postContentUIWV stringByEvaluatingJavaScriptFromString:jsString];
}

【讨论】:

  • 工作就像一个魅力,你是我的救星
  • 很多关于如何调整网页文本大小的信息——但我需要这个来保存和恢复用户的偏好!如果您像我一样拥有多个网络视图,请参阅:stackoverflow.com/questions/5553610/…
【解决方案2】:

此外,您可以将字符串连接到 UIWebView 中的现有 HTML:

NSString * htmlString = @"<style>p {font-size:28px}</style>";
makeBiggerCssString = [makeBiggerCssString stringByAppendingString:
                       selectedPostCD.content];
[_postContentUIWV loadHTMLString: htmlString baseURL:nil];

【讨论】:

    【解决方案3】:

    试试这个方法:

    NSString *htmlString =[NSString stringWithFormat:@"<font face='Font_name' size='30'>%@", Yourstring];
    [webview loadHTMLString:htmlString baseURL:nil];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2016-11-07
      • 2014-11-09
      • 1970-01-01
      • 2018-07-16
      • 2015-02-01
      • 1970-01-01
      相关资源
      最近更新 更多