UITableViewCellの内部UISlider更新
-
12-09-2019 - |
質問
私はUISlider
制御およびスライダ位置の現在のテキスト値を示しUILabelを含むカスタムUITableViewCellのを持っています。私は、スライダーのつまみをドラッグすると、ラベルを更新したいです。ここでは基本的な要素がある。
cellForRowAtIndexPath: このルーチンは、データを取り、スライダーの値と、それに関連付けられたラベルを更新します。
sliderValueChanged: このルーチンは、スライダーの値がデータの更新を読み込みます。 それはそのようにラベルが更新されます[reloadDataテーブル]を呼び出します。
問題: どういうわけかreloadDataは、アップデートの流れを中断されます。私はのNSLog代わりにreloadDataを置き換えた場合、私は、スライダーの値を示す更新の素敵なストリームを取得します。ループを防止するための試みで、私は値が異なっていた場合を除き、スライダーの値を設定したり、reloadDataを呼び出さないとテストに入れて。それは、物事を解決しませんでした。
すべてのヘルプをいただければ幸いです!
解決
問題は同じスライダーが機能していないので、更新し、新たなCellオブジェクトを作成しているように見える[テーブルreloadData]によって引き起こされています。正しい実装はsliderValueChangedルーチン内で参照セルを取得し、そこからラベルを設定することでした。行を示すために、スライダにタグを設定し、インデックスパスでセルを取得するメソッドを呼び出します。
他のヒント
このようなものは、私に起こりました。設定を構築し、コンパイラを探しに行く「浮動小数点ライブラリの呼び出しを有効にする」と呼ばれるフラグが立て。それが無効になっていていることを確認します。それはあなたを助けますかどうかを確認します。