Заставить UITextView снова отображаться после изменения contentInset? - PullRequest
1 голос
/ 08 января 2011

Я изменяю contentInset. Как я могу заставить его обновить отображение для отображения нового значения?

Ответы [ 6 ]

3 голосов
/ 11 января 2011

Я обнаружил, что он немедленно обновил contentInset, но это не выглядело так, потому что он регулирует положение, в котором UITextView прокручивается так, что отображение UITextView не изменяется.

Прокрутив обратно в верхний левый угол, вы получите эффект обновления дисплея с новой вставкой содержимого:

[textView scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];
1 голос
/ 28 апреля 2012

У меня есть похожая проблема, если не та же проблема.

Мне удалось заставить setNeedsDisplay работать, но вы должны использовать его и разместить в правильном представлении и вызвать его в правильном порядке илиэто не будет работать.

У меня есть представление, которое я хочу использовать повторно, все, что я изменяю, - это UITextView и изображение в представлении, в зависимости от того, откуда оно открывается.У меня есть ярлык, доступный через выход на контроллере.Я мог сказать, что мое назначение работало, так как измененное значение появилось во второй раз, когда я вернулся к измененному представлению.Я не мог получить ни один из ранее предложенных способов работы, пока я не подключил setNeedsDisplay в представлении контроллеров (НЕ UITextView, как я пытался, и он не взял), и я должен был сделать это непосредственно перед тем, как внести изменение текста какэто не сработало, если я сделал звонок после setText.Во всяком случае, может быть, настроить его таким образом и в таком порядке может работать для вас.

0 голосов
/ 16 января 2011

[textView setNeedsLayout] делает это?

0 голосов
/ 13 января 2011

Вы также можете попробовать [textView layoutIfNeeded] или [textView layoutSubviews].

Я забираю это назад, документация этого метода предполагает, что:

Реализация по умолчанию этого метода делаетничего.

и

Вы не должны вызывать этот метод напрямую.

0 голосов
/ 10 января 2011

Единственный способ, которым я мог придумать, - это повторно инициировать его с новыми свойствами.Звучит как пустая трата времени.

0 голосов
/ 08 января 2011

Попробуйте использовать [textView setNeedsDisplay].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...