Кнопка «Удалить» автоматически реализуется при смахивании, несмотря на то, что в табличном представлении не выполняется конечное действие смахивания - PullRequest
0 голосов
/ 29 мая 2018

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

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 10

}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if (indexPath.row == 0) {
        return 267
    }
    else {
        return 85
    }
}

//tableview methods

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

// Для 1-й ячейки

    if (indexPath.row == 0){
    let cell = storeInfoTable.dequeueReusableCell(withIdentifier: "storeinfocell1", for: indexPath) as! CustomStoreInfoTableOneViewCell


        return cell

    }

// Для остальных ячеек

    let cell = storeInfoTable.dequeueReusableCell(withIdentifier: "storeItemCell", for: indexPath) as! StoreItemsTableViewCell
    cell.storeItemCellView.layer.cornerRadius = 5.0


    return cell[![enter image description here][1]][1]

}


@available(iOS 11.0, *)
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

    if (indexPath.row == 0) {return nil}

    let addToCart = UIContextualAction(style: .normal, title: "Add to Cart") { (action, view, nil) in
        print("Added to cart")
        let cell = self.storeInfoTable.cellForRow(at: indexPath) as! StoreItemsTableViewCell

        if (Int(cell.numberOfItem.text!)! == 0) {
            self.view.showToast(toastMessage: "Items must be atleast one", duration: 1.5)
        }
        else {
        self.view.showToast(toastMessage: "Successfully added to cart", duration: 1.5)
        }
    }
    addToCart.title = "Add to Cart"
    addToCart.backgroundColor = #colorLiteral(red: 0.3647058904, green: 0.06666667014, blue: 0.9686274529, alpha: 1)
    addToCart.image = UIImage(named: "cart")



    return UISwipeActionsConfiguration(actions: [addToCart])
}

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Решением для этого является выполнение завершающего действия смахивания без каких-либо определенных действий.код ниже.

@available(iOS 11.0, *)
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

    return UISwipeActionsConfiguration.init()
}
0 голосов
/ 29 мая 2018

все еще я получаю действие удаления для каждой ячейки

Как правило, это вызвано реализацией tableView(_:commit:forRowAt:).

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