UIButton的setTitle导致它消失

时间:2017-07-26 22:43:39

标签: ios swift uitableview uibutton

我已经成功更改了按钮的alpha,所以我知道我可以修改它。但是当我使用setTitle时,按钮就会消失。

我在每个单元格中都有一个包含集合视图的tableview。我有一个自定义标题单元格,当点击它时,会显示选项,包括点击它时消失的按钮。

这是主视图控制器中正确调用并起作用的功能(我知道因为我可以更改按钮的alpha,甚至隐藏它)。

func deleteScenes(){
    if let header = whichHeaderTapped {
        header.deleteScenesOutlet.setTitle("fuckssake", for: .normal)
        header.deleteActOutlet.alpha = 0.0
        header.editButtonOutlet.alpha = 0.0
    }
}

这是标题单元格的类。

class HeaderCell: UITableViewCell {

static var shared = HeaderCell()

@IBOutlet var headerName: UILabel!

@IBOutlet var newOptions: UIStackView!

@IBOutlet var deleteScenesOutlet: UIButton!

@IBOutlet var deleteActOutlet: UIButton!

@IBOutlet var editButtonOutlet: UIButton!

override func awakeFromNib() {
    super.awakeFromNib()
    self.newOptions.frame.origin = CGPoint(x: 285, y: 0)
}

override func layoutSubviews() {
    super.layoutSubviews()
}

@IBAction func deleteScenesButton(_ sender: UIButton) {

    if deleteScenesOutlet.titleLabel?.text == "Delete Scenes" {
        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "deleteScenesButtonEnabled"), object: nil)
    }

    else {
        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "deleteScenesButtonDisabled"), object: nil)
    }

}

}

1 个答案:

答案 0 :(得分:0)

您的代码似乎没问题。你能看看你的按钮标题的颜色是什么吗?如果它是白色并且您的背景视图颜色也是白色,那么您可能无法看到该按钮。