Iphone UITableView пользовательское событие кнопки ячейки - PullRequest
4 голосов
/ 29 июля 2010

У меня есть UITableView, который имеет пользовательские ячейки в качестве строк.В этих пользовательских ячейках есть 2 кнопки.

Я ловлю нажатие кнопки в пользовательском классе ячеек.Просто интересно, как я передаю это событие из пользовательского класса ячейки в родительский контроллер представления, который содержит элемент управления UITableView.Совет?

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 июля 2010

Вы можете сделать это:

- (void)buttonTapped:(id)sender event:(id)event
{
    CGPoint touchPosition = [[[event allTouches] anyObject] locationInView:self.tableView];
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:touchPosition];
    if (indexPath != nil)
    {
         //do Something here
    }
}

// in cellForForAtIndexPath, bind the selector:

UIButton *button = (UIButton *)[cell viewWithTag:1];
[button addTarget:self action:@selector(buttonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
2 голосов
/ 29 июля 2010

Вы можете указать действия, которые выполняет UIButton, используя

[button addTarget:self action:@selector(doStuff:)
             forControlEvents:UIControlEventTouchDown];

, для получения дополнительной информации просмотрите документацию UIControl.(UIButton наследует от UIControl)

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