tableview单元子类调用Swift

时间:2015-10-27 23:17:54

标签: ios swift uitableview

我有一个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命令对此进行了测试)。

我哪里错了?

0 个答案:

没有答案