Отображение текстового Содержания в iOS
Текстовая система в iOS обеспечивает огромную сумму питания все еще будучи очень простой использовать. Платформа UIKit включает несколько высокоуровневых классов для управления дисплеем и вводом текста. UIKit также включает класс для отображения HTML, CSS и основанного на JavaScript веб-контента.
Используйте текстовые объекты для отображения текстового содержания
Разработанный дисплей текстовых объектов, форматированный текст в диапазоне шрифтов, стилей и размеров. Платформа UIKit обеспечивает три основных класса для отображения этого текстового содержания в пользовательском интерфейсе приложения:
UILabel
определяет метку, выводящую на экран строку статического текста.UITextField
определяет текстовое поле, выводящее на экран одну строку доступного для редактирования текста.UITextView
определяет текстовое представление, выводящее на экран многократные строки доступного для редактирования текста.
Несмотря на то, что эти классы фактически могут поддерживать дисплей произвольных сумм текста, метки и текстовые поля предназначаются, чтобы использоваться для относительно мелких сумм текста, обычно одна строка. Текстовые представления, с другой стороны, предназначаются для отображения больших сумм текста.
Текстовые объекты представления, создаваемые из UITextView
класс, текст дисплея, отформатированный в абзацы, столбцы и страницы, со всеми характеристиками прекрасного набора, такими как кернинг, лигатуры, сложное повреждение строки и выравнивание. Эти типографские услуги предоставлены к UITextView
через базовую технологию, названную текстовым Набором, мощный механизм расположения, который и прост в использовании и расширяем. Посмотрите Используя текстовый Набор, чтобы Составить и Управлять текстом для получения дополнительной информации о текстовом Наборе.
Рисунок 1-1 показывает примеры основных текстовых объектов, поскольку они появляются на экране. В то время как изображение справа показывает единственное текстовое представление, изображение слева показывает несколько различных стилей текстовых полей. Выноски, выведенные на экран на фоне, UILabel
объекты, встроенные в ячейках таблицы раньше, выводили на экран различные взгляды. (Эти примеры были взяты от UICatalog: Создание и Настройка Средства управления UIKit (Obj-C и Swift) демонстрационное приложение, демонстрирующее многие представления и управляющее доступный в UIKit.)
При работе с доступными для редактирования текстовыми полями и текстовыми представлениями, необходимо всегда обеспечивать объект делегата управлять сеансом редактирования. Текстовые представления отправляют несколько различных уведомлений делегату для уведомления их, когда редактирование начинается, когда оно заканчивается, и дать им шанс переопределить некоторые действия редактирования. Например, делегат может решить, содержит ли текущий текст допустимое значение, и препятствуйте тому, чтобы сеанс редактирования закончился, если это не делает. Когда редактирование действительно наконец заканчивается, Вы также используете делегата, чтобы получить получающееся текстовое значение и обновить модель данных Вашего приложения.
Поскольку существуют незначительные различия в их намеченном использовании, методы делегата для каждого текстового представления немного отличаются. Делегат, поддерживающий UITextField
класс реализует методы UITextFieldDelegate
протокол. Точно так же делегат, поддерживающий UITextView
класс реализует методы UITextViewDelegate
протокол. В обоих случаях Вы не обязаны реализовывать любой из методов протокола, но если Вы не делаете, текстовое поле или представление не так полезны.
Управление Текстовыми полями и текстовыми Представлениями описывает последовательность сообщений делегации для обоих текстовых полей, и текст просматривает и обсуждает различные задачи, выполняемые делегатами этих объектов. Для получения дополнительной информации о методах UITextFieldDelegate
и UITextViewDelegate
протоколы, посмотрите Ссылку на протокол Ссылки на протокол и UITextViewDelegate UITextFieldDelegate.
Используйте веб-представления для отображения веб-контента
Веб-представление отображения объекта веб-содержание. Это - экземпляр UIWebView
класс, позволяющий Вам интегрировать то, что является по существу миниатюрным веб-браузером в пользовательский интерфейс Вашего приложения. UIWebView
класс полностью использует те же веб-технологии, используемые для реализации Safari в iOS, включая полную поддержку HTML, CSS и содержания JavaScript. Класс также поддерживает многие встроенные жесты, что пользователи знакомы с в Safari. Например, можно дважды щелкнуть и зажать для увеличивания масштаб и из страницы, и можно прокрутить вокруг страницы путем перетаскивания пальца.
В дополнение к отображению содержания можно также использовать веб-объект представления собрать ввод от пользователя с помощью веб-форм. Как другие текстовые классы в UIKit, если у Вас есть доступное для редактирования текстовое поле на форме в Вашей веб-странице, касаясь того поля, переводит клавиатуру в рабочее состояние так, чтобы пользователь мог ввести текст. Поскольку это - неотъемлемая часть веб-опыта, само веб-представление управляет отображением и отклонением клавиатуры для Вас.
Рисунок 1-2 показывает пример a UIWebView
объект от UICatalog: Создание и Настройка Средства управления UIKit (Obj-C и Swift) демонстрационное приложение, демонстрирующее многие представления и управляющее доступный в UIKit. Поскольку это просто выводит на экран содержимое HTML, если Вы хотите, чтобы пользователь был в состоянии переместиться по страницам во многом как, они были бы в веб-браузере, необходимо добавить средства управления, чтобы сделать так.
Веб-представление предоставляет информацию о том, когда страницы загружаются, и были ли какие-либо ошибки загрузки через ее связанный объект делегата. Веб-делегат является объектом, реализующим один или несколько методов UIWebViewDelegate
протокол. Ваши реализации методов делегата могут реагировать на отказы или выполнить другие задачи, связанные с загрузкой веб-страницы.
Отображение веб-контента описывает, как вывести на экран HTML и другое содержание в веб-представлении.