UIView должен выдвинуть UIViewController (делегирование) - PullRequest
1 голос
/ 02 июня 2011

Мне трудно разобраться с пользовательским делегированием - я был бы очень признателен, если бы кто-нибудь мог мне помочь:

У меня есть UIViewController с контроллером панели вкладок, и каждый из них содержитподкласс UIView.В одном из представлений у меня есть UIButton, в котором я хочу загрузить UIDocumentInteractionController.У меня уже есть код для выполнения этой второй части, так как контроллеру документов необходим доступ к UIViewController, чтобы перенести его в стек.

Но как мой UIView может получить доступ к UIViewController?

Сегодня вечером я прочитал множество вещей на SO, таких как:

  • Это невозможно сделать
  • Установите UIViewController как свойство UIView, чтобы он зналкоторому он принадлежит
  • Вызов nextResponder на UIViewController
  • Делегирование

Я могу с удовольствием поразить мой метод -(void)buttonPressed: (id)sender, но куда он должен пойти отсюда, чтобы реализоватьделегация?Должно ли оно просто запускать что-то вроде [delegate documentRequested: sender], предполагая, что этот метод существует в моем контроллере вида?

Заранее благодарен за любую помощь.

1 Ответ

2 голосов
/ 02 июня 2011

Недавно я опубликовал подробный ответ о том, как использовать пользовательское делегирование.Вы можете проверить это здесь: dismissModalViewController И передать данные обратно

Здесь вы хотите реализовать протокол в вашем UIView и установить UIViewController, чтобы он был его делегатом.1006 * Чтобы помочь вам лучше понять связанный ответ, в ответе secondviewcontroller эквивалентен вашему UIView, а firstviewcontroller эквивалентен вашему UIViewController.

...