项目
我正在尝试复制本机 iMessage 应用程序。我使用AcaniChat作为基础。
我想要自动突出显示,所以我修改了代码以使用UITextView
而不是UILabel
. 我意识到有诸如FancyLabel和Three20 之类的选项。但是,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
增加大小。
因此,我可以可靠地设置消息气泡大小的代码或代码组合是什么?