我有一个tableview子类:
class TableCell: UITableViewCell {
var width : Float
var height : Float
var star : Int
var distanza : String
var labelDistance : UILabel?
init(text: NSString , image : UIImage , id : String , style : UITableViewCellStyle , width : Float , height : Float , star : Int , distanza : String ){
self.height=height
self.width=width
self.star=star
self.distanza = distanza
super.init(style: style, reuseIdentifier: id)
self.imageView?.image=image
self.textLabel?.text=text as String
self.labelDistance = UILabel()
print("cc11")
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
self.labelDistance?.frame = CGRectMake(self.frame.width-50, 20, 100, 100)
self.labelDistance?.text = self.distanza
self.addSubview(self.labelDistance!)
self.imageView?.frame = CGRectMake(0, 0, CGFloat(130) , CGFloat(self.height));
self.textLabel?.frame = CGRectMake(140, 20, 400,100);
var i = 0
let image = UIImage(named: risorse.star);
//print(image)
for i = 0 ; i<star ; i++ {
let x = 145 + 30 * i
let im : UIImageView = UIImageView(image: image)
im.frame = CGRectMake( CGFloat(x),self.frame.height-40 , 30, 20);
self.addSubview(im);
}
}
}
然后我有一个TableCell
子类:
class TableCellPrefer: TableCell {
override init(text: NSString , image : UIImage , id : String , style : UITableViewCellStyle , width : Float , height : Float , star : Int , distanza : String ){
super.init(text: text, image: image, id: id, style: style, width: width, height: height, star: star, distanza: distanza)
print("ddd")
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
let image = UIImage(named: risorse.heart);
let im : UIImageView = UIImageView(image: image)
im.frame = CGRectMake( CGFloat(250),self.frame.height-40 , 30, 20);
self.addSubview(im);
}
}
我的问题是:
我在原型单元格(故事板中)中有一个tableviewcontroller
,昨天原型单元格的类型是TableCell
,它工作正常。
今天我创建了TableCellPrefer
子类,我将原型单元格的类型从TableCell
更改为TableCellPrefer
但是当我在iPhone模拟器上执行程序时,系统只调用TableCell
& #39; s构造函数和TableCellPrefer
就好像没有(我通过在两个构造函数中添加print
命令对此进行了测试)。
我哪里错了?