Добавление строкового массива (string []) в список c #

Иногда кнопка может находиться внутри другого представления UITableViewCell. В этом случае superiew.superview не может передать объект ячейки, и поэтому indexPath будет равен нулю.

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

Функция для получения объекта ячейки с помощью супервизора

func getCellForView(view:UIView) -> UITableViewCell?
{
    var superView = view.superview

    while superView != nil
    {
        if superView is UITableViewCell
        {
            return superView as? UITableViewCell
        }
        else
        {
            superView = superView?.superview
        }
    }

    return nil
}

Теперь мы можем получить indexPath при нажатии кнопки, как показано ниже

@IBAction func tapButton(_ sender: UIButton)
{
    let cell = getCellForView(view: sender)
    let indexPath = myTabelView.indexPath(for: cell)
}
29
задан cuongle 14 October 2012 в 14:45
поделиться