Получение ссылки на элемент UI без IBOutlet

Если в программе используется UITableView с нестандартными ячейками, то необходимо создавать отдельный класс для описания экземпляра такой ячейки, прописывать аутлеты (@IBOutlet) и использовать этот класс для прототипа ячейки в Interface Builder. Однако если ячейка не сильно сложна, то есть более элегантное решение для задачи получения ссылки на объекты в ячейке. Мы можем найти элемент из Storyboard в коде при помощи метода viewWithTag

Рассмотрим пример:

У нас есть таблица с пятью строками и прототипом ячейки в которой есть элемент Label. Наша задача в каждую из строк в Label занести определенный текст. Для использования этого элемента Label нам нужна ссылка на него, которая и хранится в аутлете. Но мы не создавали класса для ячейки. Где же прописать аутлет?

А он нам и не нужен. Будем использовать тэги view элементов. Тег — это численный  идентификатор, который можно присвоить любому элементу пользовательского интерфейса, чтобы потом его отыскать.  Откройте  Storyboard, найдите прототип ячейки, на нем выберете Label и откройте вкладку Attributes Inspector.  В поле Tag введите 1111. 

Теперь для получения ссылки на этот Label можно использовать метод viewWithTag.

Получив ссылку на Label, мы можем передать ему нужный нам текст.

Таким образом, использование тэгов позволяет получить ссылку на элементы UI без  создания и использования аутлета  @IBOutlet.

Опубликовано в Iron ribbon, Элементы UI Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*