CustomUITableView 中标签的文本没有改变

Posted

技术标签:

【中文标题】CustomUITableView 中标签的文本没有改变【英文标题】:Text of label in CustomUITableView is not changing 【发布时间】:2015-08-24 12:48:51 【问题描述】:

我使用下面的代码来更改我的自定义uitableviewcell 标签的文本:

   override func  tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    //NSArray *allsubviews = [[NSBundle mainBundle] loadNibNamed:@"LICustomUI" owner:nil options:nil];
    //LIMerchantTableViewCell *cell = [allsubviews objectAtIndex:LIApplicationLayout() == LIApplicationDirectionRightToLeft ? 8 : 9];

    let allSubViews = NSBundle.mainBundle().loadNibNamed("LICustomUI", owner: nil, options: nil)

    var cell:LIInsuranceNameTableViewCell = allSubViews[11] as! LIInsuranceNameTableViewCell

    cell.insuranceName.text = "Hello"

    println(cell.insuranceName)

    cell.insuranceName.backgroundColor = UIColor.redColor();

   // cell.backgroundColor = UIColor.redColor();

    return cell

println() 日志的结果是:

<UILabel: 0x7ad71930; frame = (0 11; 320 21); text = 'Hello'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x7ad71a10>>

但在设备(模拟器)中文本没有改变!

【问题讨论】:

您在设备上看到了什么文字? 【参考方案1】:

如果您使用情节提要,请确保您已将标签连接到 insuranceName 插座(如果没有,只需从标签控制并拖动到您在助理检查器中找到的插座)。

另外,请使用println(cell.insuranceName.text),而不仅仅是println(cell.insuranceName)

【讨论】:

【参考方案2】:

从下面重构您的代码。 1.在viewDidLoad中注册nib 2. cellForRowAtIndexPath 中的双端队列

override func viewDidLoad() 
        super.viewDidLoad()

        self.tableView.registerNib( UINib(nibName:"nibName", bundle: nil), forCellReuseIdentifier: "identifier");
    

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
        let myTableCell = tableView.dequeueReusableCellWithIdentifier("identifier", forIndexPath: indexPath) as! UITableViewCell;
        let subViews     = myTableCell.contentView.subviews as! Array
        if subViews.count > 0 
            if let myLabel = subViews[0] as! UILabel 
                myLabel.text = "All good to go";
            

        
    

【讨论】:

以上是关于CustomUITableView 中标签的文本没有改变的主要内容,如果未能解决你的问题,请参考以下文章

无法根据objective-c中标签的文本大小设置单元格大小

swift中标签的页面控制

更改自定义 UICollectionCell 中标签的边框宽度

具有自动布局的tableView中标签的高度问题

选择 UIViewController 类的按钮时如何更新 UICollectionViewCell 中标签的颜色

Go 中标签的用途是啥?