Ответ 1
У меня была такая же проблема, мне потребовалось некоторое время, чтобы понять это, вам просто нужно изменить размер контейнера
[textview sizeToFit];
[textview.textContainer setSize:textview.frame.size];
Когда я тестирую свое приложение на симуляторе IOS7.
Иногда я обнаружил, что это странно, когда я использую sizeToFit
для UITextView
.
Кадр после sizeToFit
кажется правильным, но текст может отображаться только частично, как на фотографии ниже. (Серая область представляет новый кадр UITextView
после sizeToFit
, все предложение должно быть ", которое вызвало напряженную взаимосвязь между ними." )
Текст UITextView
устанавливается через атрибутText.
Кажется, проблема возникает только с некоторыми предложениями и подходит для большинства предложений.
Я несколько раз встречался с этой проблемой и не могу ее решить. Любая помощь будет оценена. Спасибо.
Update:
Наконец, я решаю проблему уродливо. я reset текст textView.
NSString *text = textView.text;
textView.text = @"";
textView.text = text;
Теперь он может отображать весь контент после sizeToFit. Я думаю, что это похоже на ошибку IOS 7.
У меня была такая же проблема, мне потребовалось некоторое время, чтобы понять это, вам просто нужно изменить размер контейнера
[textview sizeToFit];
[textview.textContainer setSize:textview.frame.size];
Заметьте, что в IOS7 sizeToFit тоже не работает - возможно, решение может вам помочь, нужен дополнительный layoutIfNeeded
[UITEXTVIEW sizeToFit];
[UITEXTVIEW layoutIfNeeded];
[UITEXTVIEW setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];
Есть ли у вас "просмотр подзаголовка" в конструкторе интерфейса?
Попробуйте снять флажок или установить для этого свойства значение "НЕТ".
Попробуй, это сработало для меня.
[textView setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];