2014-11-04 79 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) 
    } 
} 

我填充一個可重複使用的盒W /文本如上,但不知道如何訪問圖像(或背景圖像),放置在表格單元格中的按鈕,使用故事板,其中圖像隨表格行而變化。

回答

0

從'...將隨表格行不同而變化',這聽起來像是您正在構建可重複使用的模板單元格。

  1. CustTableViewCell必須從UITableViewCell
  2. 編輯您的模板細胞在故事板編輯器中的身份檢查得出...
    • ,班級設置爲自定義類
    • 創建一個出口按鈕CustTableViewCell
  3. tableview:cellForRowAtIndexPath
    • 創建/出隊maincell作爲CustTableViewCell - 按鈕通過出口
    • 回報您的實例(當然:-))

UITableViewCell

  • 組屬性cf custom uitableviewcells in storyboard

  • +0

    會回來。可能還要等一下。那麼,如果我已經返回maincell,如何返回CFRAIP中的自定義類實例? – agent86 2014-11-04 21:20:39

    +0

    你的CFRAIP現在是什麼樣的? – 2014-11-04 21:46:52

    +0

    新增瞭解答的更多詳細信息 – 2014-11-04 22:45:40

    相關問題