重新设计 Tableview Cell,如果它是编辑风格
Redesign Tableview Cell if its in editing style
我有一个 UITableViewController,里面有一些动态单元格和一个 "Edit"-Button。
单元格如下所示:http://de.share-your-photo.com/95733637a1
如果我按下 "Edit-" 按钮,以下代码将运行:
func editCells(_ sender:UIButton!){
self.isEditing = !self.isEditing
}
红色圆圈(左)和右侧的 3 条灰色条纹出现。但是他们弄乱了我的孔细胞,它看起来像这样:http://de.share-your-photo.com/a45ed5ff00
有没有办法识别此单元格是否处于编辑样式以隐藏某些标签或更改约束?
谢谢期待!
根据@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
}
}
}
确保您将约束与 UITableviewCell.contentView 对齐。在界面生成器中,您需要检查 "Relative to margin" 或 "Constrain to margin" 选项。
我有一个 UITableViewController,里面有一些动态单元格和一个 "Edit"-Button。 单元格如下所示:http://de.share-your-photo.com/95733637a1
如果我按下 "Edit-" 按钮,以下代码将运行:
func editCells(_ sender:UIButton!){
self.isEditing = !self.isEditing
}
红色圆圈(左)和右侧的 3 条灰色条纹出现。但是他们弄乱了我的孔细胞,它看起来像这样:http://de.share-your-photo.com/a45ed5ff00
有没有办法识别此单元格是否处于编辑样式以隐藏某些标签或更改约束?
谢谢期待!
根据@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
}
}
}
确保您将约束与 UITableviewCell.contentView 对齐。在界面生成器中,您需要检查 "Relative to margin" 或 "Constrain to margin" 选项。