在 iOS 中显示来自 JSON 的 wordpress 帖子

Posted

技术标签:

【中文标题】在 iOS 中显示来自 JSON 的 wordpress 帖子【英文标题】:Display wordpress post from JSON in iOS 【发布时间】:2012-01-10 17:39:02 【问题描述】:

背景:我的应用是对 wordpress 博客的扩展。它下载包含博客文章的 json,将它们解析为单独的文章(标题、ID、缩略图、内容),然后将它们显示在 tableView 中。这部分一切正常,看起来不错。

问题:当用户从 tableView 中点击一篇文章时,我正在寻找一种好看的方式来呈现文章。我也希望它看起来像 TUAW 或 BGR 的应用程序,但我卡住了 -_- 我还希望尽可能保持文章格式不变。

正在使用的库:SBJSON、ASIHTTPRequest、SDWebImage

任何建议

- (void)loadMyArticleData

    //create the beginning of the html string
    NSMutableString *html = [NSMutableString stringWithString: @"<html><head><title></title></head><body style=\"background:transparant;\">"];

    // Remove the iframe junk that wordpress has
    NSString *htmlText = [myArticle objectForKey:@"content"];
    NSRange range1 = [htmlText rangeOfString:@"<iframe"];
    NSRange range2 = [htmlText rangeOfString:@"</iframe>"];
    if (range1.location != NSNotFound && range2.location != NSNotFound) 
    htmlText = [NSString stringWithFormat:@"%@%@",
                [htmlText substringToIndex:range1.location],
                [htmlText substringFromIndex:(range2.location+range2.length)]];
    


   // finish our html code
   [html appendString:htmlText];
   [html appendString:@"</body></html>"];

   //make the background transparent
   [webView setBackgroundColor:[UIColor clearColor]];

   NSURL *baseURL = [NSURL URLWithString:@"http://leimobile.com"];

   //pass the string to the webview
   [webView loadHTMLString:[html description] baseURL:baseURL];

这是一个示例帖子 http://pastie.org/3161382(抱歉,在这里发帖会非常难看)

【问题讨论】:

【参考方案1】:

一个带有 WebView 的 VC 然后将该 WebView 的内容设置为您在帖子中的内容元素呢?您还可以添加自己的自定义 CSS 规则,以按照您想要的方式设置内容(如标签、文本大小等)。

【讨论】:

这就是我现在正在做的事情,但我知道有一个更好的方法可以做到这一点,包括保持文本格式、适当大小的图像和视频(如果有)。这就是 -(void)loadMyArticleData 所做的,它获取内容元素并使其成为 html 字符串,去除一些垃圾,然后将其加载到 webview 中。但图片是它们的真实尺寸,YouTube 视频(如果有)被完全隐藏 为什么不添加 CSS 指令来调整图像和其他元素的大小? 你能帮我举个例子吗? gmail.com 上的电子邮件是 truehybridx。如果我们发现了什么,我们可以在这里发布它 这取决于您要显示的尺寸。例如,如果您希望图像为 100X150,则使用如下指令:img height: 100;宽度:150px。 嗯,我猜我的 webview 找不到我的项目中包含的 .css...pastie.org/3163733 是我的 CSS 现在的样子,pastie.org/3163740 是我的功能在 VC 类中使用将 HTML 放在一起【参考方案2】:

按照这些步骤操作(假设您已经创建了一个可以正常工作的 tableView)

1) 动态创建一个带有标题、图像和内容的 ViewController。这样,如果您没有数据,您可以隐藏任何内容。

2) 使用 cellForRowAtIndexPath 你知道哪个单元格被选中了

3) 使用 PushView 带上您创建的 ViewController。

4) 加载其中的所有值。

【讨论】:

我认为他要问的是如何呈现和设置 html 字符串样式的好方法? 谢谢,但这是原来的问题,这样做只能显示文章中的一张图片,并且删除了文本格式-_-

以上是关于在 iOS 中显示来自 JSON 的 wordpress 帖子的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中显示来自 JSON 的 wordpress 帖子

IOS:如何显示和播放来自 JSON 的视频

来自json的数组数据在tableview ios上重复

IOS:来自 Json 的 LazyLoad 图像

如何在 iOS 中禁用来自 Web 服务调用的自动排序 JSON 字典响应

来自 json 文件的图像未显示在网站上