Подтвердить что ты не робот

Измените подробный вид из приложения MasterDetail iPad с помощью раскадровки

Я немного здесь потерялся. У меня есть базовое описание основной детали, и я хочу изменить представление детали в соответствии с выбранной строкой в ​​MasterViewController, но представления имеют разное содержимое, у одной есть галерея изображений, а другая будет загружать видео в полноэкранном режиме. Он не просто обновляет подробный вид, должен загружать другое представление. Как лучший (быстрый) способ сделать это?

4b9b3361

Ответ 1

Я предлагаю вам использовать замену segue.

Просто создайте segue для желаемого представления, инициированного вашей строкой, с Стиль: Заменить и Назначение: Подробное разделение.

Segues были представлены в SDK iOS 5

EDIT:

Это пошаговые инструкции для выполнения того, что вам нужно. Отныне:

  • элемент, который нужно нажать для выполнения действия (кнопка или строка в главном представлении) = * Кнопка;
  • вид, который вы хотите разместить в подробном представлении iPad = * Подробнее.

немного для обозначения для удобства объяснения

  • Удерживая нажатой кнопку Ctrl, нажмите * кнопку, затем удерживайте и перетащите в * Подробнее и отпустите, чтобы создать свой сегмент.
  • В раскрывающемся списке выберите Заменить
  • Выберите свой segue, откройте Attributes инспектор и установите Destination в Подробно Split

Что все.

Подробнее о segues: http://www.scott-sherwood.com/?p=219

Ответ 2

В частности, в CS193P проверьте последнюю версию и посмотрите лекцию № 7. Пол не заканчивает часть с заменой Segue, но он ПРЕДОСТАВЛЯЕТ пример с очень хорошим многоразовым кодом (Психолог с Dr Pill)

Ответ 3

Если вы используете динамическое представление таблицы в своем MasterViewController, выполните раздел numberOfRowsInSection: (NSInteger) Метод с:

return [_youDataArrayNameHere count];

тогда на cellForRowAtIndexPath настройте ячейку:

cell.textLabel.text = [_youDataArrayNameHere  objectAtIndex:indexPath.row];

и в файле didSelectRowAtIndexPath вызовите любое другое представление, основанное на выбранной строке:

//
if (indexPath.row == 0) {
     [_detailViewController.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"anotherVC01Here"] animated:YES];
}