解释我的情况最好的例子就是使用博客帖子.比如说,我有一个UITableView,其中加载了我从API获得的博客帖子的标题.当我点击一行时,我想显示详细的博客文章.

这样做时,API会返回几个字段,包括"post body"(即HTML文本).我的问题是,我应该用什么来显示它,使其显示为格式化的HTML?我应该使用UIWebView吗?我不确定你是在浏览网页时使用UIWebView(比如用URL或其他东西初始化它),还是可以给它一个HTML字符串,它会正确格式化.

这个页面上还将显示其他几个字段,比如标题、类别、作者等.我只是使用UILabels,所以没有问题.但我不知道如何处理HTML块.顺便说一句,所有这些都是我通过编程完成的.

如果你不知道的话,我对iOS开发还比较陌生,大约2-3周,没有obj-c背景.因此,如果UIWebView是正确的方法,我也很感激任何"明白了!"注意,如果有的话.

推荐答案

正如刘大卫(David Liu)所说,UIWebview是一条路要走.我建议一些人单独构建HTML字符串,然后将其传递给UIWebView.此外,我会使用[webView setBackgroundColor:[UIColor clearColor]]使背景透明,这样你就可以更容易地让事情看起来像它们应该的样子.

下面是一个代码示例:

- (void) createWebViewWithHTML{
    //create the string
    NSMutableString *html = [NSMutableString stringWithString: @"<html><head><title></title></head><body style=\"background:transparent;\">"];

    //continue building the string
    [html appendString:@"body content here"];
    [html appendString:@"</body></html>"];

    //instantiate the web view
    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];

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

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

    //add it to the subview
    [self.view addSubview:webView];

}

NOTE:

使用"NSMutableString"的好处是,您可以通过整个解析操作继续构建字符串,然后将其传递给"UIWebView",而"NSString"一旦创建就无法更改.

Objective-c相关问答推荐

如何删除Objective-C中未定义的符号&错误?

uipageviewcontroller 类在设置多个视图控制器时崩溃

使用自动布局自定义纵横比

我需要在 ARC 中使用 dealloc 方法吗?

在 iOS8 上,以横向模式显示我的应用程序会隐藏状态栏,但在 iOS 7 上,状态栏会同时显示在两个方向上

为什么我不用 * 声明 NSInteger

在 iOS 设备上本地存储图像

在 ARC 中清零弱引用

块引用作为Objective-C中的实例变量

.m 文件中的空@interface 声明是做什么用的?

Xcode:可以为协议接口所需的方法自动创建存根吗?

iOS 在设备旋转时更改自动布局约束

UIFont 的磅值到底是多少?

self.window.rootViewController 与窗口 addSubview

Xcode 在您的 keys 串中找不到此配置文件的有效私有证书/有效密钥对

`[super viewDidLoad]` 约定

如何在 xcode 项目中启用/禁用 ARC?

如何阻止 NSNotification 中的观察者调用两次?

CMTime 秒输出

无法在 iOS7 上将 UITextField 添加到 UIAlertView ...在 iOS 6 中有效