请注意此代码。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("commentCell", forIndexPath: indexPath) as! CommentTableViewCell
cell.commentText?.text = comments![indexPath.row]
if let objectId = yak?["user"].objectId {
let commentor = commentorIds[indexPath.row]
if commentor == objectId {
cell.commentText.textColor = UIColor(red: 136.0/255, green: 135.0/255, blue: 134.0/255, alpha: 1)
let image = UIImage(named: "eh")
cell.backgroundView = UIImageView(image: image?.resizableImageWithCapInsets(UIEdgeInsets(top: 20, left: 20, bottom: 50, right: 50)))
} else {
cell.commentText.textColor = UIColor.whiteColor()
let image = UIImage(named: "whatsthatnow")
cell.backgroundView = UIImageView(image: image?.resizableImageWithCapInsets(UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 100)))
}
}
cell.layoutMargins = UIEdgeInsetsZero
//cell.backgroundView = UIImageView(image: UIImage(named: "goodbg"))
return cell
}
然而,对于特定的视图控制器,这非常有效。请注意此代码段。
func tableViewOld(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> UITableViewCell! {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! TableViewCell
let image = UIImage(named: "eh")
cell.backgroundView = UIImageView(image: image?.resizableImageWithCapInsets(UIEdgeInsets(top: 20, left: 20, bottom: 50, right: 50)))
这个相同的代码在某个原因上不能用于另一个单元格。我似乎无法找到理由,所以我希望你们中的一个人能发现一些我不能发现的东西。
答案 0 :(得分:0)
检查UITableViewCell的.h文件。我发现了这个。
UITableViewStylePlain
中的单元格的默认值为nil,UITableViewStyleGrouped
的单位格式的默认值为nil。 backgroundView
将作为子视图添加到所有其他视图后面。
@property (nonatomic, retain) UIView *backgroundView;
通常情况下,我们不做任何建议:
ImageView
。 ImageView
的框架设为cell.contentView.bounds