表格单元格内的UIButton不会更改属性

时间:2017-02-12 15:15:19

标签: swift uitableview uibutton

我的单元格中有一个UIButton,还有一个图像和一个文本标签。我设法以编程方式更改图像和标签,但UIButton似乎没有响应除isHidden之外的任何内容。 这是我的代码,没有改变的按钮是followButton:

import UIKit

class ProfileTableCell: UITableViewCell {

@IBOutlet weak var name: UILabel!
@IBOutlet weak var profileImage: UIImageView!

@IBOutlet weak var followButton: UIButton!
override func awakeFromNib() {
    super.awakeFromNib()
    self.profileImage.layer.borderWidth = 0.0;
    self.profileImage.layer.cornerRadius = self.profileImage.frame.size.width/2;
    self.profileImage.clipsToBounds = true
    self.profileImage.image = UIImage(named: "belt")
    self.name.text = "Bar Refaeli"
    self.followButton.layer.borderColor = UIColor.black.cgColor
    self.followButton.layer.borderWidth = 3.0;
    self.followButton.layer.cornerRadius = self.frame.size.width/4
    self.followButton.backgroundColor = UIColor.black
}

func setCell(image: UIImage, name: String){

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

    // Configure the view for the selected state
}

}

如上所述,profileImage和name outlet会改变外观。 我还尝试删除按钮并将其重新放入,清理xcode项目,删除插座参考并再次连接。现在很沮丧。

我还尝试通过故事板更改按钮的背景颜色,仅用于测试,并且它不会改变它!更改的是titleLabel和文本颜色。

2 个答案:

答案 0 :(得分:1)

awakeFromNib() - 从Interface Builder存档或nib文件加载后,为接收器准备服务。

鉴于此,将代码移至视图启动方法,如viewDidLoad或viewDidAppear(_:)

属于textLabels等属性的子对象与子视图对象的行为不同。

答案 1 :(得分:0)

最终,我实际上通过将表视图抛向垃圾并使用集合视图实现相同的需求来解决这个问题。那里没有问题..