Раскрытие детализированного представления


Раскрытие детализированного представления

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

Первый метод, tableViewididSelectRowAtlndexPath:, вызывается при выборе строки таблицы. В вежливой форме пользователю предлагается стукнуть на кнопке раскрытия, а не выбирать строку. Если пользователь стукнет на кнопке раскрытия детализированного представления, будет вызван один из наших новых методов делегатов.

Первым делом в методе: проверяется, не содержит ли переменная экземпляра childController значение nil. Если содержит, значит, мы еще не выделили память для нового экземпляра класса DetailDisclosureCont roller и не инициализировали его, чем мы и должны тут же заняться.

В результате получим новый контроллер, который сможем поместить в стек навигации, как мы делали это раньше (в контроллере ). Однако, перед тем как помещать контроллер в стек, имеет смысл предоставить ему некоторый текст для отображения.

В данном случае устанавливаем сообщение, отражающее строку, по кнопке раскрытия которой стукнул пользователь. Мы также устанавливаем заголовок нового представления (title) на основе выбранной строки.

Итак, можно считать, что наш первый контроллер второго уровня готов "приступить к работе" в качестве контроллера детализированного представления. Нам осталось лишь создать экземпляр нашего контроллера второго уровня и добавить его к контроллерам первого уровня (т.е. к объектам класса ).

Все наши действия здесь связаны с созданием нового экземпляра класса. Мы используем класс, чтобы обозначить, что хотим создать не сгруппированную, а индексированную таблицу. Затем устанавливаем заголовок и изображение (в виде одного из .png-файлов, которые мы добавили в наш проект), добавляем в массив контроллер и освобождаем последний. В начало файла нам нужно добавить одну строку кода, чтобы импортировать файл заголовка для нашего нового класса. Вставьте эту строку непосредственно над объявлением.

Сохраните внесенные изменения и попробуйте построить приложение. Если вы все сделали правильно, ваш проект без проблем скомпилируется, после чего вы сможете запустить его в симуляторе. После запуска приложения вы должны увидеть только одну строку.
  • Дата: 10-12-2014, 20:36

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Раскрытие детализированного представления

Технологии, секреты и фишки Apple: Iphone, iPad, iPod