[英]Saving uibutton state in custom cell Swift
我有一個帶有兩個uibuttons
的custom cell
。 單擊按鈕之一,也會基於具有兩個uibuttons
的自定義單元格追加行。
單擊按鈕后,我將其alpha
更改為50%,並將布爾值isPressed
設置為true。 因此,下次用戶按下按鈕時,將產生一個帶有錯誤的alert view
。
問題是-每次我滾動-帶有按鈕的單元格都被重用,並且這兩個規則混亂地應用。
我瀏覽了堆棧中的答案,但是沒有發現任何對我有幫助的東西,尤其是迅速解決問題的方法。 我知道可以創建一個數組,將其附加boolean
, indexPath.row
或currentTitle
對象-然后在滾動tableview時以某種方式使用此數組。 但是對我來說實現不清楚。 更困難的是,我在一行中有兩個按鈕。
希望在這個問題上有任何幫助。
謝謝。
在objc中實現的想法將如下所示:
創建一個大小等於單元數的NSArray。
在調用[self.tableView reloadData];
之前,用[NSNumber numberWithBOOL:NO]
類的對象(如果需要按狀態,則為YES
)進行初始化[self.tableView reloadData];
cellForRowAtIndexPath
方法中,檢查[array[indexPath.row] boolValue]
是否為YES或NO,並設置按鈕的狀態。 希望它會有所幫助。
有關表視圖的教程很多。 喜歡這里 。 您需要從視圖(表中的單元格和按鈕)中分離數據的模型(例如是否按下按鈕)。 如果這個想法不清楚,您將需要查找MVC(模型視圖控制器)或MVVM(模型視圖視圖模型)。
這個想法是,您有一個記錄(例如在數組中)記錄表中所有項目的外觀,而不管它們是否出現在屏幕上。 當需要顯示一個單元格時,可以根據數組中的信息用它應該的狀態覆蓋它的當前狀態(因為它正在回收)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.