uitextview无法使用自动调整字体滚动以使用任何文本长度填充它

时间:2015-02-05 11:20:23

标签: ios objective-c uitextview frame font-size

我想制作一个不滑动的UITextView,自动调整字符大小以填充textview并查看所有文本,无论其长度如何。

在一些帖子中说比较内容的高度和帧的高度来确定字体大小,例如:

if (self.textview.contentSize.height > self.textview.frame.size.height {
    int fontIncrement = 1;
    while (self.textview.contentSize.height > self.textview.frame.size.height) {
        self.textview.font = [UIFont systemFontOfSize:FONT_SIZE - fontIncrement];
        fontIncrement++;
    }
}

和这两行确定内容的大小:

CGSize maximumLabelSize = self.textview.frame.size;
CGSize expectSize = [self.textview sizeThatFits:maximumLabelSize];

但是我有很多问题要应用这个类似的解决方案,例如:

  1. 第一次,通过在控制台上打印帧和内容高度,它们被设置为128而不是350(故事板和模拟器的大小)。如果我在执行时更改了一些文本,nslog将打印正确的值350,但框架和内容的内容始终相同。

  2. 框架和内容与任何文字的高度相同。

  3. 我的问题是什么?有办法做到这一点吗?

0 个答案:

没有答案