0

UIVIew クラス参照を使用して CustomCell という名前のカスタム セルを作成し、SlidingCustomCell という名前の UITableViewCell 参照とインターフェイスを作成しました。このインターフェイスでは、CustomCell インターフェイスを呼び出します。スライドイベント出現時にセルをスライドさせたい。これを行うために、インターフェイス SlidinCustomCell メソッドで作成しました。

-(void)touchesMoved 

シンプルなコードで

CGRect frame = cellGroup.frame;
frame.origin = CGPointMake(100, 0);
cellGroup.frame = frame;

最初のセルをスライドすると、下にスクロールして 9 番目のセルが操作なしで自動的にスライドされたことを確認するまで、すべて問題なく表示されます。このエラーは、スライドしたセルごとに発生します。(1.セルオートスライド9.セル、2.セルオートスライド10.セルなど)。20 個のテーブル セルを作成しました。

4

2 に答える 2

0

他のセルがスライドされている理由は、それらが再利用されているためです

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

モデルに変数を設定して、各セルがスライドされたときにマークする必要があります。次に、セルが作成されるたびに、この項目を実際にスライドする必要があるかどうかを確認します。

このようなもの。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ 
   //code to create cell here...
   if (thisModelItemNeedsToBeSlidOver)
    {
        [someTableCell slideOverMethod];
    } 
    else
    {
        [someTableCell resetSlideOver];
     }
}
于 2012-05-17T10:06:24.157 に答える
0

操作していないのにセルがスライドして表示される理由は、セルが再利用されているためです。モデルでセルが実際にスライドされていることを確認し、tableView:willDisplayCell:forRowAtIndexPath:セルが想定されているもの (スライドされているかどうかにかかわらず) に変更します。

于 2012-05-17T09:55:21.643 に答える