分配自定义UITableViewCell的属性

时间:2015-01-28 12:59:42

标签: ios uitableview swift

  • 我使用以下自定义UITableViewCell而没有nib文件。
  • 我在UITableViewController
  • 中查看它没有任何问题
  • 我的问题是将文字分配到"name"标签cell.name.text = "a Name"。注明已分配

你能帮助我吗?

import UIKit

class ACMenuCell: UITableViewCell {
    @IBOutlet var name : UILabel!
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        name = UILabel(frame: CGRectMake(20, 10, self.bounds.size.width , 25))
        name.backgroundColor = .whiteColor()
        self.contentView.addSubview(name)
        self.contentView.backgroundColor = .blueColor()
    }
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    override func layoutSubviews() {
        super.layoutSubviews()
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }
    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

1 个答案:

答案 0 :(得分:0)

您可能想尝试这样做:在UITableViewCell的子类中创建公共函数,并在此funxtion中将文本设置为标签。

(void)initializeCell
{
do whatever like setting the text for label which is a subview of tableViewCell
} 

cellForRowAtIndexPAth开始,在单元格对象上调用此函数:

// taking your code for demo

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let reuseIdentifierAC:NSString = "ACMenuCell"; var cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifierAC, forIndexPath:indexPath) as ACMenuCell cell = ACMenuCell(style: UITableViewCellStyle.Default, reuseIdentifier: reuseIdentifierAC) [cell initializeCell] return cell }

这种方法对我有用。