Лучшая практика iOS UI - UILabel или UITextView?

Если вы создаете UIView для приложения iPhone для отображения статьи из блога, например.

Какой компонент пользовательского интерфейса вы бы рекомендовали отобразить на экране? UILabel с numberOfLines равно нулю или UITextView без прокрутки и фиксированного размера?

Почему?

Ответ 1

Это немного зависит от того, что именно вы пытаетесь сделать.

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

Если вам нужен выбор или редактирование, используйте UITextView.

Ответ 2

Извините за поздний ответ, но это может помочь кому-то.

Согласно Руководству Apple по программированию текста для iOS, UILabel определяет метку, которая отображает статическую текстовую строку. UITextField определяет текстовое поле, которое отображает одну строку редактируемого текста. UITextView определяет текстовое представление, которое отображает несколько строк редактируемого текста. Хотя эти классы фактически могут поддерживать отображение произвольных количеств текста, метки и текстовые поля предназначены для использования в относительно небольших количествах текста, как правило, одной строки. Текстовые представления, с другой стороны, предназначены для отображения большого количества текста.

Для получения дополнительной информации, пожалуйста, проверьте: Руководство по программированию текста для iOS

Ответ 3

Какой компонент пользовательского интерфейса вы бы рекомендовали отобразить на экране? UILabel с numberOfLines равен нулю или UITextView без прокрутки и фиксированного размера?

Отсылаем официальное documentation от Apple, для рекомендаций по использованию текстового контента в приложении.

В соответствии с этим структура UIKit предоставляет три основных класса для отображения текстового контента в пользовательском интерфейсе приложений: UILabel, UITextField и UITextView.

Ниже строки намекает на возможную рекомендацию для конкретного варианта использования:

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

Если мы рассмотрим пример использования статьи, справедливо предположить, что он будет иметь существенный текстовый контент. И поэтому, если мы применяем вышеприведенные рекомендации, UITextView представляется лучшим инструментом для работы.

Затем, когда пользователь читает текст статьи, UITextView имеет выбираемый текст. Это означает, что пользователь может скопировать определенные строки из статьи или заставить устройство говорить текст тоже.