2014-11-04 3 views
0

// objectsAry является NSManagedObjectsПрограммных изменить изображение кнопки в ячейке таблицы

//main view controller 

    var nowImg = UIImage(named: "img30.png") 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     var NuTblCellInst = NuTableViewCell() 

     var maincell:UITableViewCell = self.mainList.dequeueReusableCellWithIdentifier("maincell") as NuTableViewCell 

     maincell.textLabel.text = self.objectsAry[indexPath.row].valueForKey("itemname") as? String 

     //NuTblCellInst.doImgLoad(nowImg!) 
     //uncomment the line above = fatal error: unexpectedly found nil while unwrapping an Optional value 
     // it doesn't matter if i use the method or use NuTblCellInst.btnWImg.setBackgroungImage directly (unwrapping error either way) 

     return maincell 
    } 

// custom tableview cell class 

class NuTableViewCell: UITableViewCell { 

    @IBOutlet weak var btnWImg: UIButton! 

    var nowImg = UIImage(named: "img30.png") 

    func doImgLoad(theImg: UIImage) { 
     btnWImg.setBackgroundImage(theImg, forState: UIControlState.Normal) 
    } 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     //doImgLoad(nowImg!) 
     //uncomment the line above and it loads the image to the button no problem 
    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
    } 
} 

Я заселение многоразовой ячейки ж/текста, как указан выше, но не уверен, как доступ к изображению (или фоновое изображение) для кнопки, помещенной в ячейку таблицы, с помощью раскадровки, где изображение будет меняться в зависимости от строки таблицы.

ответ

0

От «... будет отличаться от строки таблицы», похоже, что вы создаете многоразовую ячейку шаблона.

  1. CustTableViewCell должны быть получены из UITableViewCell
  2. изменения шаблона ячейки в раскадровке редакторе ...
    • в идентичности инспектора, установите класс пользовательского класса
    • создать выход для кнопка в CustTableViewCell
  3. в tableview:cellForRowAtIndexPath
    • создать/Dequeue maincell как CustTableViewCell - неUITableViewCell
    • заданными свойствами на кнопку через выпускное отверстие
    • вернуть экземпляр (конечно :-))

cf custom uitableviewcells in storyboard

+0

Вернется. Это может занять некоторое время. Итак, как мне вернуть экземпляр настраиваемого класса в CFRAIP, если я уже возвращаю основную ячейку? – agent86

+0

Как выглядит ваш CFRAIP сейчас? –

+0

Добавлена ​​более подробная информация к ответу –

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