отправлять события родительским представлениям - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть ViewController, у которого есть кнопка, которая при нажатии добавляет подпредставление из пера. У меня есть это действие:

- (IBAction) addTooltip {
    if (self.tooltip == nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Tooltip" owner:self options:nil];
        self.tooltip = [nib objectAtIndex:0];
        self.tooltip.frame = CGRectMake(20, 190, 260, 200);
    }
    [self.view addSubview:tooltip];
}

В этом перо у меня есть две другие кнопки, но я хочу отловить их действия в моем ViewController Является ли это возможным? Или как лучше всего это сделать? Всплывающая подсказка имеет тип Tooltip, поэтому у меня есть класс для нее.

Ответы [ 3 ]

1 голос
/ 02 февраля 2010

В кончике подсказки вы можете установить владельца перья на свой ViewController и связать действие кнопок вплоть до ViewController.

Редактировать:

В InterfaceBuilder,Вы можете установить класс владельца "Владельца файла" на пользовательский класс вашего ViewController.Чтобы сделать это,

  1. в IB, в окне документа (⌘0) нажмите на «Владелец файла»,
  2. в Инспекторе удостоверений (⌘4), установитеКласс для вашего пользовательского класса (просто введите имя),
  3. щелкните правой кнопкой мыши (элемент управления) «Владелец файла» в окне документа, чтобы увидеть объявленные действия и выходы вашего класса.
0 голосов
/ 03 февраля 2010

Я добавил эту строку в моей начальной функции и работает

[self.tooltip.butCancel addTarget:self action:@selector(removeTooltip:) forControlEvents:UIControlEventTouchUpInside];

Если есть лучший способ, приведите также несколько примеров, я не понял, как использовать делегатов. Спасибо.

0 голосов
/ 02 февраля 2010

Хм, использовать делегатов? Добавьте метод делегата в ваш ViewController и в подсказке добавьте метод, который устанавливает делегата для отправки действий.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...