【发布时间】:2016-11-07 18:19:22
【问题描述】:
我对 Xcode 和 Swift 编程比较陌生,在我的第一个应用程序中,它由一个带有自定义 TableViewCell 的 tableview 组成,它覆盖变量 frame 以不覆盖视图的整个宽度:
override var frame: CGRect {
get {
return super.frame
}
set {
var frame = newValue
frame.origin.x += 175
frame.size.width -= 350
super.frame = frame
}
}
一切都按预期工作,但是当我使用self.tableView.deleteRows(at: [path], with: .automatic) 删除 Tableview 单元格时,单元格出现了一个奇怪的问题;看起来单元格再次获得了比旧的新(更小)帧,但只有可见单元格;如果细胞重新加载,问题就消失了。所以它只是在删除之后发生;如果单元格离开屏幕然后再次出现,它会恢复到正常大小。
我的猜测是`newValue 已经是一个自定义框架,然后再次被自定义,这使得它变得更小;但我不知道如何解决这个问题!
以下是 iPad 版的截图:
任何帮助将不胜感激!如果您需要更多信息,请在 cmets 中告诉我!谢谢!
【问题讨论】:
标签: ios tableview cell frame tableviewcell