如果它处于编辑风格,则重新设计Tableview Cell

问题描述 投票:0回答:2

我有一个UITableViewController,其中包含一些动态单元格和一个“编辑”-Button。 Cell看起来像这样:http://de.share-your-photo.com/95733637a1

如果我按下“编辑 - ”按钮,则运行以下代码:

func editCells(_ sender:UIButton!){
    self.isEditing = !self.isEditing
}

出现红色圆圈(左)和右边的3个灰色条纹。但他们弄乱了我的洞穴,它看起来像这样:http://de.share-your-photo.com/a45ed5ff00

有没有办法识别此单元格是否处于编辑样式以隐藏某些标签或更改约束?

谢谢你的期待!

ios swift uitableview tableviewcell
2个回答
0
投票

根据@ DekelMaman的评论,我能够解决自己的问题。谢谢你,非常棒的支持!对于每个对此感兴趣的人,这是我的解决方案:

class TasksTableViewCell: UITableViewCell {

    @IBOutlet weak var DistanceLable: UILabel!
    @IBOutlet weak var TimeLable: UILabel!
    @IBOutlet weak var StretchingTimeLable: UILabel!

    @IBOutlet weak var distanceDescriptionLeadingConstraint: NSLayoutConstraint!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        // Configure the view for the selected state
    }

    override func willTransition(to state: UITableViewCellStateMask) {
        if(self.frame.width != 320.0) { return } //Continue only if its an iPhone 4, 5

        print("State: \(state)")
        if(state == .init(rawValue: 2147483649)){ //isEditing
            self.distanceDescriptionLeadingConstraint.constant = -22
        } else { //isNormal
            self.distanceDescriptionLeadingConstraint.constant = 16
        }
    }
}

0
投票

确保将约束与UITableviewCell.contentView对齐。在界面构建器中,您需要选中“相对于边距”或“约束到边距”选项。

Make sure you align to margins / contentView of the cell.

Make sure you align to margins / contentView of the cell.

© www.soinside.com 2019 - 2024. All rights reserved.