初めまして! タイトルにある不具合を確認しましたので、issueを立てさせていただきました。 # 概要 - SliderCellがスクロールで再利用された際に、再利用前のセルに設定されている値が再利用後のMinMaxに補正されてしまう # 環境 - Unity2020 3.40f1 - v1.5.2 # 手順 1. 画面に一度に表示される最大数以上のSliderCellを追加する 2. 追加したSliderCellで画面が埋め尽くされている状態にする 3. 2の状態から上などにスライドして、表示されていないSliderCellを表示する状態にして、セルが再利用される状態を作る 4. 2の状態に戻し、再び表示されたセルを確認する # 期待する結果 - セルの値がスライド前と変わらず変更されずに表示されること # 実際の動作 - セルの値が再利用後の値で補正されてしまっている https://github.com/Haruma-K/UnityDebugSheet/assets/82358525/1f9a8615-89d3-4579-b1ba-6f4dbcabac0e # 原因 - [この箇所](https://github.com/Haruma-K/UnityDebugSheet/blob/master/Assets/UnityDebugSheet/Runtime/Core/Scripts/DefaultImpl/Cells/SliderCell.cs#L26-L58)でListenerを除去する前にslider.minValueとslider.maxValueに代入してしまっていることで、再利用前の値が範囲外だった場合に補正が入り、slider.onValueChangedが発火してしまっている # 修正案 - 下記のように、Listenerが解除された後にslider.minValueとslider.maxValueに代入を行う ``` // Slider slider.interactable = model.Interactable; slider.onValueChanged.RemoveAllListeners(); slider.minValue = model.MinValue; slider.maxValue = model.MaxValue; slider.SetValueWithoutNotify(value); ```
初めまして!
タイトルにある不具合を確認しましたので、issueを立てさせていただきました。
概要
環境
手順
期待する結果
実際の動作
2024-01-10.2.35.22.mov
原因
修正案