2017-07-26 29 views
1

我已經成功更改了按鈕的alpha,所以我知道我可以修改它。但是當我使用setTitle時,按鈕就會消失。uButton的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) 
    } 

} 

} 
+0

檢查故事板中的接線並確保沒有連接錯誤的按鈕。也可用於打開視圖層次結構並檢查元素的位置和大小 – Dale

+0

如果設置爲alpha 0,則永遠不會看到button.set alpha 1以使其可見 – Vikky

+0

我將alpha設置爲0的按鈕是我想要的按鈕消失。 deletesceneoutlet按鈕是我試圖改變標題,但它消失的那個按鈕。我試過手動將自己的alpha設置爲1.0。沒有工作。 –

回答

0

你的代碼似乎很好。你能檢查你的按鈕標題的顏色是什麼。如果它是白色的,並且您的背景顏色也是白色,那麼您有可能無法看到按鈕。

+0

好主意,但不,我改變了bg的顏色,但它仍然沒有顯示。事情是,按鈕的文本顏色從一開始就很好,我不明白爲什麼將標題設置爲別的東西會改變顏色。 –