菜鸟教程小白 发表于 2022-12-11 20:40:39

iphone - 如何在 UIWebView 中正确显示 TXT 或 ASCII 文件


                                            <p><p>我正在尝试将 <code>TXT 文件 (ASCII)</code> 显示到 <code>UIVewView</code> 中。例如,使用网站 <a href="http://www.partisani.net/35.txt" rel="noreferrer noopener nofollow">www.partisani.net/35.txt</a>在 MacBook 上的 Safari 中可以正常工作,而 iPhone 上的 Safari 则不行。 Safari 的 iPhone 以另一种布局显示文件。有人可以帮帮我吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>据我所知,Mac 与 iOS 上的文件布局完全相同。你说的是文字换行吗?您可以通过调整浏览器大小在 Mac 上看到。</p>

<p>如果您想以不同的方式处理行长,则需要通过设置滚动来实现。</p>

<p>更详细的更新:</p>

<p>这种“某种”改变了原始内容:)。基本上,您需要调整 webview 的 contentSize 并将文本文件嵌入一些样板 HTML 以重排文本,而不是将默认视口(viewport)宽度分配给文本文档。后者我通过以下方式完成:</p>

<pre><code>NSURL* url = ;
UIWebView* vw = (UIWebView*)self.view;
vw.delegate = self;

NSData* Data = ;
NSString* aStr = [ initWithData:Data encoding:NSASCIIStringEncoding];

NSString* responseStr = [NSString stringWithFormat:
                         @&#34;&lt;HTML&gt;&#34;
                         &#34;&lt;head&gt;&#34;
                         &#34;&lt;title&gt;Text View&lt;/title&gt;&#34;
                         &#34;&lt;/head&gt;&#34;
                         &#34;&lt;BODY&gt;&#34;
                         &#34;&lt;pre&gt;&#34;
                         &#34;%@&#34;
                         &#34;/pre&gt;&#34;
                         &#34;&lt;/BODY&gt;&#34;
                         &#34;&lt;/HTML&gt;&#34;,
                         aStr];
bundlePath]]];
;
</code></pre>

<p><code>vw.delegate = self</code> 很重要,因为您还需要让 Controller 符合 <code>UIWebViewDelegate</code> 协议(protocol)并实现 <code>webViewDidFinishLoad:</code> 方法。您可以在此处根据需要设置 webview 的滚动宽度和高度:</p>

<pre><code>- (void) webViewDidFinishLoad:(UIWebView *)webview {   
   UIScrollView* sview = (UIScrollView*)[ objectAtIndex:0];
   sview.contentSize = CGSizeMake(1000, 800);
}
</code></pre>

<p>这是一个非常简单的实现——大概您还希望逻辑根据加载的文本计算必要的宽度和高度,而不是使用此处所示的常量;为此,您需要一些与原始数据相关的解析逻辑,但这应该可以帮助您入门。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 如何在 UIWebView 中正确显示 TXT 或 ASCII 文件,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8407684/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8407684/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 如何在 UIWebView 中正确显示 TXT 或 ASCII 文件