вызов метода в контроллере представления из дочернего представления - PullRequest
2 голосов
/ 06 октября 2011

В моем ViewController я создал вид, который содержит кнопку и кучу других элементов.Когда кнопка нажата, я хочу вызвать метод из родительского ViewController.Я попытался:

[self.superview buttonPressedMethod];

Но суперпредставление - не ViewController, а UIView.Есть ли в любом случае, чтобы сделать это?

Ответы [ 3 ]

1 голос
/ 06 октября 2011

Это именно то, для чего предназначен механизм цели / действия. Сделайте метод в контроллере представления IBAction. Установите контроллер представления в качестве цели кнопки и установите метод в качестве его действия. Это должно быть все, что вам нужно сделать.

0 голосов
/ 26 ноября 2014

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

0 голосов
/ 26 ноября 2014
At ParentViewController.h 
-(void)ParentMethod;

At ParentViewController.m
-(IBAction)button:(id)sender {
       [self ParentMethod];
}

At IBAction of Play Button on child view controller do this:
-(IBAction)ChildMethod:(id)sender {
       ParentViewController *parent=self.parentViewController;
       [parent ParentMethod];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...