我已经创建了一个自定义的UITableView Cell,一切似乎都在处理一个例外。我有一个UISwitch在单元格内部(连接到它自己的tableView加载的UITableViewCell类)但它只在你单击单元格或单元格背景清晰/透明时出现。理想情况下,我有一个白色背景的单元格和开关在背景上。
我尝试过一些像hacky这样的东西:
cell.bringSubview(toFront: cell.switch)
和
cell.switch.isHidden = false
但这显然不起作用。
默认情况下,开关已启用且已启用。 tableview和switch是从故事板创建的。
层次结构如下所示 - TableView>细胞>内容视图>开关
以下是详细了解的视频 - http://quick.as/rpyub8mv
自定义TableViewCell类
class SettingsBoolCell: UITableViewCell {
@IBAction func switchAction(_ sender: UISwitch) {
}
@IBOutlet weak var switchOutlet: UISwitch!
}
ViewController实施
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "settingsSectionOne", for: indexPath) as! SettingsBoolCell
switch indexPath.section {
case 0: cell.textLabel?.text = titles[0]
case 1: cell.textLabel?.text = titles[1]
case 2: cell.textLabel?.text = titles[2]
default: ()
}
return cell
}
答案 0 :(得分:0)
如果您正在使用情节提要,请确保您的UISwitch位于右侧视图中,并且它位于文档大纲中的其他组件下。
如果您以编程方式在单元格内生成视图,请确保使用addSubView最后将UISwitch添加到右侧视图中。您还可以使用view.layer.zPosition
属性设置zPosition。
答案 1 :(得分:0)
所以我在设置 -
cell.textLabel.text?
更改tableView中单元格的文本。问题是,显然当您使用自定义单元格时,如果没有一些时髦的行为,则无法访问默认单元格属性。
感谢大家的帮助!