如何使用UISwitch
将addsubview
添加到tablview的特定部分和行?
例如:
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 12
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as cell_TableViewCell
var oneObject = UISwitch(frame: CGRect(x: 260, y: 5, width: 50, height: 30)) as UISwitch
if indexPath.section == 2 && indexPath.row == 0
{
oneObject.tag = 8
cell.contentView.addSubview(oneObject)
}
return cell
}
滚动时,此表视图将继续添加到随机单元格。
答案 0 :(得分:2)
cellForRowAtIndexPath
应仅用于设置单元格的属性,而不能添加或删除子视图。由于单元格被重用于每个表格行(在您的示例中,无论如何),在一次调用中添加开关会影响所有行,即使在随机看似的时间也是如此。更好的方法是将UISwitch
添加到原型单元格,然后隐藏或显示在cellForRowAtIndexPath
中。