我是一名有用的助手,可以为您翻译文本。
问题在于这个尺寸并没有正确反映字符串的大小,因为UITextView会剪切文本。我将边缘插图设置为零,所以这不应该是一个问题,对吧?
此时,我认为这是NSAttributedString的size属性的一个bug,但如果我使用boundingRectWithSize:options:context:也会出现相同的情况。
也许是NSAttributedString的布局计算代码与UITextView的布局计算代码不兼容。 这里有一个演示了此问题的示例项目。
欢迎任何想法!
编辑:我还应该指出以下内容也不起作用:
我正在开发一个使用UITextView的应用程序。
UITextView应该根据其文本内容自动调整大小,无论是垂直还是水平方向。为此,我正在子类中重写sizeToFit方法,并设置边界,如下所示:
- (void)sizeToFit {
[self setBounds:(CGRect){.size = self.attributedText.size}];
}
问题在于这个尺寸并没有正确反映字符串的大小,因为UITextView会剪切文本。我将边缘插图设置为零,所以这不应该是一个问题,对吧?
此时,我认为这是NSAttributedString的size属性的一个bug,但如果我使用boundingRectWithSize:options:context:也会出现相同的情况。
[self setBounds:(CGRect){.size = [self.attributedText boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX) options:0 context:nil].size}];
也许是NSAttributedString的布局计算代码与UITextView的布局计算代码不兼容。 这里有一个演示了此问题的示例项目。
欢迎任何想法!
编辑:我还应该指出以下内容也不起作用:
- (void)sizeToFit {
[self setBounds:(CGRect){.size = [self sizeThatFits:self.attributedText.size]}];
}