1

项目

我正在尝试复制本机 iMessage 应用程序。我使用AcaniChat作为基础。

我想要自动突出显示,所以我修改了代码以使用UITextView而不是UILabel. 我意识到有诸如FancyLabelThree20 之类的选项。但是,UITextView这是本机的。

问题

我很难获得UITextView正确的填充/大小。我根据其他答案中的建议更新了该contentInset属性。

msgText.contentInset = UIEdgeInsetsMake(-11.0f, -8.0f, 0.0f, -8.0f);

我还通过以下方式确定大小:

CGSize size = [[(Message *)object text] sizeWithFont:[UIFont systemFontOfSize:kMessageFontSize]
                                   constrainedToSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX)
                                       lineBreakMode:UILineBreakModeWordWrap];

尽管如此,一些文本仍然被截断(见下图)。值得注意的是电话号码和电子邮件地址(右)以及“那个切断?” (剩下)

我已经证实这不是由于dataDetectorsTypes财产。

问题

我可以通过CGRect增加UITextView. 但我想更好地了解边距/填充和大小的影响UITextView。我不想通过使其工作来任意20.0f增加大小

因此,我可以可靠地设置消息气泡大小代码或代码组合是什么?

在此处输入图像描述

4

1 回答 1

0

不是解决您的 UITextView 问题的解决方案,但是......我遇到了类似的问题,并决定给核心文本一个机会。您可以更好地控制正在发生的事情。您可以使用正则表达式声明您的字符串,以使链接/电子邮件/电话号码可见,并且还有机会使用其他字体。

于 2012-08-02T15:57:49.210 回答