2015-08-24 3 views
1

я использую ниже код, чтобы изменить текст звукозаписывающей компанией моего обычая uitableviewcell:Текст метки в CustomUITableView не меняется

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>> 

, но в устройство (эмулятор) текст не изменяется!

+0

какой текст вы видите на устройстве? –

ответ

0

Если вы используете раскадровки, убедитесь, что вы подключили ярлык к розетке insuranceName (если у вас нет, просто перетащите указатель мыши с этикетки на розетку, которую вы найдете в инспекторе помощника).

Кроме того, используйте println(cell.insuranceName.text), а не только println(cell.insuranceName).

0

Восстановите свой код снизу. 1. Зарегистрируйте перо в viewDidLoad 2. Deque в 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"; 
      } 

     } 
    } 
Смежные вопросы