indexPathForRowAtPoint возвращает nil только для первой ячейки в uitableview

у меня естьUIButton внутри обычаяUITableViewCell это удаляет ячейку при нажатии кнопки. Чтобы получить indexPath ячейки, в которой находится кнопка, я звонюindexPathForRowAtPoint: в методе, вызываемом при нажатии кнопки, следующим образом:

-(void)buttonPressed:(UIButton *)sender{
    CGPoint btnPosition = [sender convertPoint:CGPointZero toView:self.tableView];
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:btnPosition];

    if (indexPath != nil)
    {
    //remove the cell from the tableview. 
    }
}

Это прекрасно работает, если я нажимаю кнопку в любой ячейке, кроме первой, а также если в таблице есть ТОЛЬКО одна ячейка. Однако, если есть несколько ячеек, и я нажимаю кнопку в первой ячейке, нажатие кнопки срабатывает, и btnPosition найдено, но[self.tableView indexPathForRowAtPoint:btnPosition]; возвращаетсяnil.

Например, если есть три ячейки, каждая с кнопкой:

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

Я проверил, что tableView не ноль, как это было предложено в соответствующей, но другой публикации. Я также подтвердил, что точкаbtnPosition установлен на то же значение(x=260, y=44.009995) оба, когда[self.tableView indexPathForRowAtPoint:btnPosition] == nil И когда[self.tableView indexPathForRowAtPoint:btnPosition] != nil.

Итак, кроме вопроса, есть ли у кого-нибудь идеи о том, что здесь может происходить, мой вопрос:

При каких обстоятельствах можно передать тот же CGPoint[self.tableView indexPathForRowAtPoint:btnPosition] вернуть другое (или ноль)indexPath?

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

Некоторые дополнительные заметки, которые могут быть полезны (прошу прощения, если я задам вопрос с ошибками. Я с удовольствием приму ваше мнение об этом :)

Этот tableView является частьюUITableViewController который встроен вUINavigationController

TableView имеет 3 раздела, 2 из которых скрыты от просмотра (0 строк, без нижнего колонтитула, без заголовка), в то время как я представляю раздел со строками ячейки кнопки, как описано.

Я корректирую расположение кнопок во время презентации, программно изменяя их горизонтальные ограничения.

Высоты моегоcustomUITableViewCell, tableViewRows а такжеUIButton каждый равен 60.0f

Ответы на вопрос(4)

Ваш ответ на вопрос