我想更改viewTable
中特定单元格中嵌套视图的Y位置。
比如说
let condition = myarray[indexPath.row]
if condition != nil {
cell.myView.frame.origin.y += 15
}
问题是,由于每次滚动时它都在
dequeueReusableCell
下,所以它将执行代码并在前一个y位置上再添加15。对每个单元格执行一次此操作的最佳正确方法是什么?
最佳答案
声明属性defaultViewY
var defaultViewY : CGFloat = 0.0
在
viewDidLoad
中获取视图的默认y位置func viewDidLoad() {
super.viewDidLoad()
defaultViewY = // add code to get the default y-position or use a literal constant
}
在
cellForRow
中,如果条件为false,不要使用+=
运算符并添加else
子句来重置y位置let condition = myarray[indexPath.row]
if condition != nil {
cell.myView.frame.origin.y = defaultViewY + 15.0
} else {
cell.myView.frame.origin.y = defaultViewY
}