在 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 帖子