import UIKit
class RecordTableViewCell: UITableViewCell {
var deleteBtn: UIButton!
override func awakeFromNib() {
super.awakeFromNib()
setSeparatorByEdge()
}
考虑到cell会重用,这种时候就不在这里直接写死子控件的frame,
而是重写layouSubviews方法,动态的根据计算子控件的frame.
override func layoutSubviews() {
super.layoutSubviews()
setUpViews()
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
if !self.isEqual(nil) {
deleteBtn = UIButton()
self.contentView.addSubview(deleteBtn)
}
}
func setUpViews() {
deleteBtn("删除cell", forState: UIControlState.Normal)
deleteBtn.setTitleColor(UIColor.hexStringToColor("#EA5413"), forState: UIControlState.Normal)
deleteBtn.titleLabel?.font = UIFont.systemFontOfSize(12)
deleteBtn.layer.borderWidth = 1
deleteBtn.layer.borderColor = UIColor.hexStringToColor("ea5413").CGColor
deleteBtn.snp_makeConstraints(closure: { (make) in
make.centerY.equalTo(self.contentView.snp_centerY)
make.right.equalTo(self.contentView.snp_right).offset(-10)
make.width.equalTo(self.contentView.snp_width).multipliedBy(0.155)
make.height.equalTo(self.contentView.snp_height).multipliedBy(0.455)
})
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}