Странная вещь возникает при использовании sizetofit UITextView в IOS7

Когда я тестирую свое приложение на симуляторе IOS7. Иногда я обнаружил, что это странно, когда я использую sizeToFit для UITextView. Кадр после sizeToFit кажется правильным, но текст может отображаться только частично, как на фотографии ниже. (Серая область представляет новый кадр UITextView после sizeToFit, все предложение должно быть ", которое вызвало напряженную взаимосвязь между ними." )

enter image description here

Текст UITextView устанавливается через атрибутText. Кажется, проблема возникает только с некоторыми предложениями и подходит для большинства предложений.

Я несколько раз встречался с этой проблемой и не могу ее решить. Любая помощь будет оценена. Спасибо.

Update:

Наконец, я решаю проблему уродливо. я reset текст textView.

NSString *text = textView.text;
textView.text = @"";
textView.text = text;

Теперь он может отображать весь контент после sizeToFit. Я думаю, что это похоже на ошибку IOS 7.

Ответы

Ответ 1

У меня была такая же проблема, мне потребовалось некоторое время, чтобы понять это, вам просто нужно изменить размер контейнера

[textview sizeToFit];
[textview.textContainer setSize:textview.frame.size];

Ответ 2

Заметьте, что в IOS7 sizeToFit тоже не работает - возможно, решение может вам помочь, нужен дополнительный layoutIfNeeded

[UITEXTVIEW sizeToFit];
[UITEXTVIEW layoutIfNeeded];
[UITEXTVIEW setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];

Ответ 3

Есть ли у вас "просмотр подзаголовка" в конструкторе интерфейса?

Попробуйте снять флажок или установить для этого свойства значение "НЕТ".

Ответ 4

Попробуй, это сработало для меня.

[textView setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];