4

UISliderコントロールとスライダー位置の現在のテキスト値を示す UILabel を含むカスタム UITableViewCell があります。スライダーのノブをドラッグすると、ラベルを更新したいと考えています。基本的な要素は次のとおりです。

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

SliderValueChanged: このルーチンは、スライダーの値を読み取り、データを更新します。次に [table reloadData] を呼び出して、ラベルが更新されるようにします。

問題: reloadData が何らかの理由で更新の流れを中断しています。reloadData の代わりに NSLog を代入すると、スライダーの値を示す更新の素晴らしいストリームが得られます。ループを防ぐために、値が異なる場合を除き、スライダーの値を設定したり、reloadData を呼び出したりしないようにテストを行いました。それは問題を解決しませんでした。

どんな助けでも大歓迎です!

4

2 に答える 2

6

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

于 2009-08-12T15:00:52.163 に答える
1

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

于 2009-08-10T01:23:38.060 に答える