• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:40:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试将 TXT 文件 (ASCII) 显示到 UIVewView 中。例如,使用网站 www.partisani.net/35.txt在 MacBook 上的 Safari 中可以正常工作,而 iPhone 上的 Safari 则不行。 Safari 的 iPhone 以另一种布局显示文件。有人可以帮帮我吗?



Best Answer-推荐答案


据我所知,Mac 与 iOS 上的文件布局完全相同。你说的是文字换行吗?您可以通过调整浏览器大小在 Mac 上看到。

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

更详细的更新:

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

NSURL* url = [NSURL URLWithString"http://www.partisani.net/35.txt"];
UIWebView* vw = (UIWebView*)self.view;
vw.delegate = self;

NSData* Data = [NSData dataWithContentsOfURL:url];
NSString* aStr = [[NSString alloc] initWithDataata encoding:NSASCIIStringEncoding];

NSString* responseStr = [NSString stringWithFormat:
                         @"<HTML>"
                         "<head>"
                         "<title>Text View</title>"
                         "</head>"
                         "<BODY>"
                         "<pre>"
                         "%@"
                         "/pre>"
                         "</BODY>"
                         "</HTML>",
                         aStr];
[vw loadHTMLString:responseStr baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
[aStr release];

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

- (void) webViewDidFinishLoadUIWebView *)webview {    
     UIScrollView* sview = (UIScrollView*)[[webview subviews] objectAtIndex:0];
     sview.contentSize = CGSizeMake(1000, 800);
}

这是一个非常简单的实现——大概您还希望逻辑根据加载的文本计算必要的宽度和高度,而不是使用此处所示的常量;为此,您需要一些与原始数据相关的解析逻辑,但这应该可以帮助您入门。

关于iphone - 如何在 UIWebView 中正确显示 TXT 或 ASCII 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407684/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap