我正在为我的Swift应用创建一个设置页面(以下是关于SO的示例)我已经将UITableViewCell
以及init()
处理程序中的子句划分为I' ve将accessoryView
设置为UISwitch()
。
我在子类上也有一个自定义@IBInspectable
属性,该属性也标记为@IBDesignable
:
@IBDesignable class TableViewSwitchCell: UITableViewCell {
@IBInspectable var settingsKey: String?
func build()
{
accessoryView = UISwitch()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
build()
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
build()
}
// code omitted that uses the settingsKey with NSUserDefaults
}
如何安排UISwitch
在InterfaceBuilder中也可见,以便我可以附加其他目标,同时仍然只是从UITableViewCell
继承
理想情况下,我不想创建一个具有自己布局的全新笔尖,因为我仍然希望保留标准UITableViewCell
的大多数其他功能。
答案 0 :(得分:3)
在单元格内的Interface Builder中删除UISwitch
。然后用你单元格的accessoryView
连接它。在标准基本细胞上,对照倾向于锁定在IB中的细胞中间。但是在运行时它将被正确定位。