我有一個小小的麻煩與按鈕上的tableview。tableviewcell重複uibuttons
我有一個tableViewCell,我用3個按鈕進行了自定義。我將這些按鈕設置爲隱藏在界面構建器中,並且當表格加載按鈕隱藏時如預期的那樣。
然後,我在調用didSelectRow時將tableview的隱藏屬性設置爲false,並在調用didDeselectRow時將hidden.true設置爲false。這工作也很好。問題是設置爲在didSelectRow中可見的按鈕每7個單元格也可見。他們不斷重複自己。
下面是顯示的按鈕
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath) as! ContactsViewCell
print("Table selected")
cell.insertEmailButton.hidden = false
cell.insertPhoneButton.hidden = false
cell.insertAllButton.hidden = false
cell.contactTextLabel.alpha = 0.2
cell.contactDetailTextLabel.alpha = 0.2
}
的代碼,這就隱藏了他們當tableViewCell被取消
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath) as! ContactsViewCell
cell.insertEmailButton.hidden = true
cell.insertPhoneButton.hidden = true
cell.insertAllButton.hidden = true
cell.contactTextLabel.alpha = 1.0
cell.contactDetailTextLabel.alpha = 1.0
}
我做了一些研究,我瞭解到這可能是與按鈕的排.hidden設置爲false將被tableview重用。但我從文檔中瞭解到,被重用的單元格來自cellForRowAtIndexPath,而不是didSelectRow中的單元格,我將button.hidden設置爲false。
我也試過在cellForRowAtIndexPath的if語句中使用cell.isSelected屬性來隱藏和顯示按鈕,但是這根本不顯示按鈕。
在此先感謝您的幫助
謝謝。我確實使用,如果細胞。isSelected在cellForRowAtIndexPath中設置按鈕的隱藏屬性true和false,但是根本沒有顯示按鈕。 –
你能給出更多關於你想要的結果的信息嗎? –
它沒什麼複雜的。我只想要一個帶有聯繫人的桌面視圖,當一個單元格被輕敲時,標題和副標題淡入淡出,並顯示3個按鈕。當另一個單元格被選中時,初始單元格恢復其alpha並隱藏按鈕,而新選擇的單元格顯示按鈕並淡入標題。 –