iphone - 如何调整TTStyledTextLabel的宽度?

标签 iphone three20 ttstyledtextlabel

我正在 iOS 上实现一个 IM 应用程序。我发现 Three20 库有一个 TTStyledTextLabel,它提供了很酷的功能,例如显示图像和 url 链接。不过,我想将 TTStyledTextLabel 嵌入到消息气泡中(就像 iPhone 附带的短信应用程序一样),其中我需要标签根据文本长度调整其大小。我发现TTStyledTextLabel可以根据宽度调整其高度,但我不知道当文本很短并且无法填满整行时如何使其水平收缩。有什么建议么?

最佳答案

我认为我有一个稍微更好的解决方案:我获取 ttstyledtext 的 rootFrame 并迭代其同级框架以找到最大宽度。

它的工作原理如下:

    TTStyledTextLabel* label = [[TTStyledTextLabel alloc] init];
    label.text = [TTStyledText textFromXHTML:myTextToBeDisplayed];
    [label sizeToFit];
    CGFloat maxWidth = 0;
    TTStyledFrame *f = label.text.rootFrame;
    while (f) {
        int w = f.x + f.width;
        if (w > maxWidth) {
            maxWidth = w;
        }
        f = f.nextFrame;
    }
    return CGSizeMake(maxWidth, label.height);

关于iphone - 如何调整TTStyledTextLabel的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573936/

相关文章:

ios4 - 制作TTLauncherView打开动画项目

iphone - 单击 TTStyledTextLabel 选择 UITableViewCell

iphone - 将基于 Sencha Touch 的应用程序转变为真正的 native iPhone 应用程序?

iphone - 带有舍入 float 的 Objective C 问题

iphone - 如何使 Three20 的 TTStyledTextLabel 与外部图像配合使用?

ios - 在 ImageViewer 中打开 TTStyledLabel 图像

iphone - TTStyledText 中的 URL 和图像

iphone - 我应该在 OpenGL ES 游戏中使用多线程吗?

ios - iphone中的UILabel文本对齐问题?

iphone - TTNavigator 恢复时,TTStyleSheet 不工作