Как вы можете сказать UIViewController, что кнопка нажата в UIPopOverController? - PullRequest
1 голос
/ 27 апреля 2011

я думаю, что название самоочевидно. У меня есть UIPopOverController, в нем отображается таблица, и когда я выбираю ячейку, я хочу сказать ей UIViewController.

Есть ли простое решение или мне нужно KeyValueObserving или уведомления?

Ответы [ 3 ]

1 голос
/ 27 апреля 2011

вы можете двигаться одним из двух подходов по вашему выбору.

сначала: с использованием делегата / протокола. http://www.thepensiveprogrammer.com/2010/05/objective-c-protocols-and-delegates.html

секунда: Установите UIViewController в качестве цели для UIButton.

например

[btn addTarget:myController action:@selector(ActionWillBePerformedInController:) forControlEvents:UIControlEventTouchUpInside];
1 голос
/ 27 апреля 2011

Размещение NSNotification будет работать хорошо ... вы также можете создать объект обратного вызова и селектор в вашем классе UITableViewController.

вы можете инициализировать свой UITableViewController с объектом обратного вызова и селектором обратного вызова

initWithTarget:(id)theTarget andSelector:(SEL) theSelector

... сохранить значения в свойствах

, затем из didSelectRowAtIndexPath в вашем tableView ... вызов

[self.target performSelector:self.selector];

, используя эту методологию, вы можете определить свои собственные методы обратного вызова каквы хотите .. из вашего класса ViewController, который создал поповер, вы можете сделать что-то вроде этого ...

[[MyTableView alloc] initWithTarget:(self) andSelector:@selector(popoverControllerDidRequestClose)];
1 голос
/ 27 апреля 2011

Отправьте NSNotification из таблицы и добавьте UIViewController в качестве наблюдателя.

...