質問

私はUISlider制御およびスライダ位置の現在のテキスト値を示しUILabelを含むカスタムUITableViewCellのを持っています。私は、スライダーのつまみをドラッグすると、ラベルを更新したいです。ここでは基本的な要素がある。

cellForRowAtIndexPath: このルーチンは、データを取り、スライダーの値と、それに関連付けられたラベルを更新します。

sliderValueChanged: このルーチンは、スライダーの値がデータの更新を読み込みます。 それはそのようにラベルが更新されます[reloadDataテーブル]を呼び出します。

問題: どういうわけかreloadDataは、アップデートの流れを中断されます。私はのNSLog代わりにreloadDataを置き換えた場合、私は、スライダーの値を示す更新の素敵なストリームを取得します。ループを防止するための試みで、私は値が異なっていた場合を除き、スライダーの値を設定したり、reloadDataを呼び出さないとテストに入れて。それは、物事を解決しませんでした。

すべてのヘルプをいただければ幸いです!

役に立ちましたか?

解決

問題は同じスライダーが機能していないので、更新し、新たなCellオブジェクトを作成しているように見える[テーブルreloadData]によって引き起こされています。正しい実装はsliderValueChangedルーチン内で参照セルを取得し、そこからラベルを設定することでした。行を示すために、スライダにタグを設定し、インデックスパスでセルを取得するメソッドを呼び出します。

他のヒント

このようなものは、私に起こりました。設定を構築し、コンパイラを探しに行く「浮動小数点ライブラリの呼び出しを有効にする」と呼ばれるフラグが立て。それが無効になっていていることを確認します。それはあなたを助けますかどうかを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top