Подтвердить что ты не робот

UITextView не отображается, пока не будет прокручиваться

Я использую UITextView для отображения текста из xml. Я проанализировал xml и сохранил текст в NSArray, и оттуда я добавляю его в UITextView в свой код.

проблема: Когда я запускаю код, текстовое изображение отображается как пустое или с частичным текстом, а когда я пытаюсь прокрутить текстовое изображение, отображается весь текст.

Я добавил UITextView в UIView.

Я нашел это странным и искал его, но не смог найти много ответов, которые мне помогают. Может ли кто-нибудь ответить мне, чтобы решить проблему?

TNQ

4b9b3361

Ответ 1

Нашел простой РЕШЕНИЕ

Была та же проблема. Когда вы помещаете текст в UITextView, который не отображается, он не рисует текст.

У меня был UITextView с экрана и анимировал его следующим образом:

    [UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationCurveEaseOut animations:^{
    self.contentView.center = CGPointMake(self.contentView.center.x + move * (self.contentView.frame.size.width /2), self.contentView.center.y);
    self.textView.frame = self.textView.frame; // <<<--- ADD THIS LINE
    } completion:^(BOOL finished) {
    if (finished) {
    }
}];

Когда вы повторно устанавливаете фрейм textview, он повторно рисует текст. Итак, все, что вам нужно сделать, это добавить строку, отмеченную выше, прежде чем ваш UITextView появится на экране.

Приветствия

Ответ 2

UITextView наследует от UIScrollView, поэтому просто прокручиваем его.

[detailsTextView setContentOffset:CGPointMake(0, 1) animated:YES];

Ответ 3

Я решил проблему, очистив текстовое представление и снова добавив текст в текстовое представление, я не знаю точного фундамента, но моя проблема решена. в моем случае: Я изменяю рамку текстового представления извне в представление по щелчку кнопки. В то время как кнопка нажата, текстовое изображение не отображает контент и на экране прокрутки.

i решил, удалив текст из текстового поля и повторно введя текст при нажатии кнопки.

Ответ 4

UItextView наследуется от UIScrollView. Это означает, что у нее есть функциональность прокрутки. Таким образом, если содержимое UItextView достаточно мало, чтобы вставить его в рамку, его не нужно прокручивать.

Но если он достаточно велик, вам нужно прокрутить UItextView.

Это имеет смысл?

Для получения дополнительной информации см. ссылку на класс UITextView

Ответ 5

Убедитесь, что метод, в котором u задает текст textview, вызван правильно. И строка, которую вы присваиваете текстовому представлению, находится в правильном строчном формате (если не сохраняет ее).

Ответ 6

Есть вероятность, что пробелы и/или новые строки будут существовать до фактического текста. Обрезайте эти символы перед тем, как назначить их текстовому виду.

NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *text = [parsedString stringByTrimmingCharactersInSet:charset];
textview.text = text;

Ответ 7

Попробуйте, когда загрузится текстовый файл

NSAttributedString *oldtext = objTextView.attributedText;
[objTextView removeFromSuperview];
objTextView.attributedText = oldtext;
[self.view addSubview:objTextView];

В моем случае мой текст приписывается

Ответ 8

Когда вы завершаете операцию, которая анализирует XML, вы гарантируете, что ваше обновление происходит в основном потоке?

UIKit обновляет только основной поток, поэтому любые сделанные обновления будут отображаться только в следующий раз, когда вы коснетесь объекта и принудительно обновите его.

В качестве примера одного из способов сделать это правильно.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

   [self parseXMLOffMainThread];

   dispatch_async(dispatch_get_main_queue(), ^{

      self.myTextView.text = parsedText;

      });        

 });