编辑tableview时编辑单元格出口

时间:2017-02-12 23:03:00

标签: ios iphone swift uitableview

这是我的应用:

App image

当我按下编辑按钮(''Rediger'')时,我得到以下内容:

This happens

所以我的问题是:在编辑tableview时,如何隐藏圆形红圈和隐藏的披露指示?圆圈和披露指示器都是imageViews。

以下是自定义单元格的代码(我编辑了不必要的部分):

class KundeavisCell: UITableViewCell {

@IBOutlet weak var unreadImage: UIImageView!
@IBOutlet weak var disclosureIndicatorImage: UIImageView!

}

视图控制器与表:

class KundeaviserVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

@IBOutlet weak var redigerOutlet: UIBarButtonItem!

var stores = ["Rema 1000", "Coop Obs", "Coop Extra"]

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

    let cell = tableView.dequeueReusableCell(withIdentifier: "KundeavisCell", for: indexPath) as! KundeavisCell

    // Here i edit the cell

    return cell
}

func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return stores.count
}

@IBAction func tableViewEditingPressed(_ sender: Any) {

    if tableView.isEditing {
        tableView.setEditing(false, animated: true);
        redigerOutlet.style = UIBarButtonItemStyle.plain;
        redigerOutlet.title = "Rediger";

    } else {

        tableView.setEditing(true, animated: true);
        redigerOutlet.title = "Ferdig";
        redigerOutlet.style =  UIBarButtonItemStyle.done;

    }
}

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
    return true
}

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {

    let itemToMove = stores[sourceIndexPath.row]
    stores.remove(at: sourceIndexPath.row)
    stores.insert(itemToMove, at: destinationIndexPath.row)
}

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
    return UITableViewCellEditingStyle.none
}

func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
    return false
}

}

我知道我可以通过设置约束来向左缩进图像,但我想完全隐藏它们。我发现了一个关于它的问题:Link但不幸的是它是在5年前和Objective-C中写的。

任何帮助都将受到高度赞赏,谢谢!

1 个答案:

答案 0 :(得分:0)

您引用的代码到目前为止仍然有效。您已经拥有了UITableViewCell的Custom实现,所以现在实现SetEditing函数,并在实现中隐藏/显示您的图像。

56fdt

这应该有效。