簡體   English   中英

在自定義單元格Swift中保存uibutton狀態

[英]Saving uibutton state in custom cell Swift

我有一個帶有兩個uibuttonscustom cell 單擊按鈕之一,也會基於具有兩個uibuttons的自定義單元格追加行。

單擊按鈕后,我將其alpha更改為50%,並將布爾值isPressed設置為true。 因此,下次用戶按下按鈕時,將產生一個帶有錯誤的alert view

問題是-每次我滾動-帶有按鈕的單元格都被重用,並且這兩個規則混亂地應用。

我瀏覽了堆棧中的答案,但是沒有發現任何對我有幫助的東西,尤其是迅速解決問題的方法。 我知道可以創建一個數組,將其附加booleanindexPath.rowcurrentTitle對象-然后在滾動tableview時以某種方式使用此數組。 但是對我來說實現不清楚。 更困難的是,我在一行中有兩個按鈕。

希望在這個問題上有任何幫助。

謝謝。

在objc中實現的想法將如下所示:

  1. 創建一個大小等於單元數的NSArray。

  2. 在調用[self.tableView reloadData];之前,用[NSNumber numberWithBOOL:NO]類的對象(如果需要按狀態,則為YES )進行初始化[self.tableView reloadData];

  3. cellForRowAtIndexPath方法中,檢查[array[indexPath.row] boolValue]是否為YES或NO,並設置按鈕的狀態。

希望它會有所幫助。

有關表視圖的教程很多。 喜歡這里 您需要從視圖(表中的單元格和按鈕)中分離數據的模型(例如是否按下按鈕)。 如果這個想法不清楚,您將需要查找MVC(模型視圖控制器)或MVVM(模型視圖視圖模型)。

這個想法是,您有一個記錄(例如在數組中)記錄表中所有項目的外觀,而不管它們是否出現在屏幕上。 當需要顯示一個單元格時,可以根據數組中的信息用它應該的狀態覆蓋它的當前狀態(因為它正在回收)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM