使用DTCoreText嵌入推文

时间:2015-03-22 23:39:53

标签: ios twitter dtcoretext

我正在使用DTCoreText显示HTML代码。到目前为止,一切都工作正常,但现在我在这个HTML代码中收到了嵌入式推文,但他们并没有工作。 正如Twitter文档中所述,推文嵌入了blockquotes标签,这是我收到的一个例子:

<blockquote class="twitter-tweet" lang="fr">
<p>
Here is the official <a href="https://twitter.com/hashtag/SPECTRE?src=hash">#SPECTRE</a> teaser poster <a href="http://t.co/3cn3iM6tf1">pic.twitter.com/3cn3iM6tf1</a></div>&mdash; James Bond (@007) <a href="https://twitter.com/007/status/577877246809141248">17 Mars 2015</a>
</blockquote>

仅显示文字。 我以这种方式在DTCoreText中注册了一个新类:

[DTTextAttachment registerClass:[MyBlockquoteClass class] forTagName:@"blockquote"];

MyBlockQuoteClass有这个构造函数:

- (id)initWithElement:(DTHTMLElement *)element options:(NSDictionary *)options
{
    self = [super initWithElement:element options:options];

    if (self)
    {
        NSLog(@"THIS IS MY ELEMENT %@", element);
        NSLog(@"THESE ARE MY OPTIONS %@", options);
    }

    return self;
}

当读取blockquote标签时调用构造函数但是选项只有4个与字体颜色和大小相关的键,元素有很多属性但对我没用,几乎所有东西都是零,没有孩子,只有get类=&#34; Twitter的鸣叫&#34;和lang =&#34; fr&#34;,但没有办法获取内容,所以我不能像我想要的那样将blockquote嵌入到UIWebView中。

我做错了什么?也许有更好的方法使用DTCoreText?

亲切的问候!

1 个答案:

答案 0 :(得分:0)

为此,需要在DTCoreText中实现以下内容:

  1. 自定义标签处理程序隐藏常规输出中标签内容的一种方式
  2. 已将自定义MyBlockquoteClass发送给串联的原始字符串内容

然后,您可以在委托方法中为您自己的Web视图提供这些内容,该方法使您可以为文本附件设置自定义视图。

  1. 您可能还希望将其与现代属性配合使用(以便与UIKit兼容,例如UITextView)