Создание новых выходов
После этого мы создаем четыре объекта класса UI Label и добавляем их в ячейку табличного представления. Ячейка табличного представления уже имеет дочернее представление UlView, названное contentview, которое она использует для группирования всех своих дочерних представлений, в основном так же, как мы группировали два переключателя в классе UlView. В результате мы добавляем метки не непосредственно как дочерние представления в ячейку табличного представления, а в ее contentview.
Две из этих меток содержат статический текст. Метка nameLabel содержит текст Name:, метка colorLabel — текст Color:. Это метки, которые мы не будем изменять. Однако две другие метки будут использоваться для отображения наших данных для конкретных строк. Помните, что нам нужен некоторый способ извлечения этих полей в дальнейшем, поэтому присваиваем значения обоим из них. Например, мы присваиваем константу kNameValueTag полю дескриптора nameValue.
Вскоре мы будем использовать этот дескриптор для получения метки из ячейки.
По завершении создания нашей новой ячейки мы используем переданный аргумент indexPath для определения, какая строка таблицы запрашивает ячейку, а затем используем зго значение для получения корректного словаря данной строки. Помните, что словарь содержит две пары “ключ-значение", одно с названием, а другое с цветом.
Помните установленные ранее дескрипторы? Вот мы и используем их, чтобы получить метку, значение которой нам нужно установить.
Когда у нас имеется эта метка, мы просто устанавливаем ее текст равным одному из значений, полученных из словаря, представляющего эту строку.
Скомпилируйте и запустите приложение, и вы должны увидеть таблицу строк, каждая из которых в свою очередь состоит из двух строк данных.
Возможность добавления представлений в табличные представления дает намного больше гибкости, чем использование одной стандартной ячейки табличного представления, но программное создание, позиционирование и добавление всех дочерних представлений может оказаться достаточно утомительным. Было бы неплохо, если бы мы могли конструировать ячейки табличного представления графически, используя nib-редактор среды Xcode. К счастью, как уже упоминалось ранее, можно использовать программу Interface Builder для разработки ячеек табличного представления, а затем при создании новой ячейки просто загрузить представления из nib-файла.
- Дата: 30-11-2014, 20:38