2

私は iCarousel を使用しています。iCarousel を見たことがない場合は、github: iCarouselのオープン ソース プロジェクトです。

これは、 my でオブジェクトを削除する方法ですiCarousel:

NSInteger index = carousel1.currentItemIndex;
[carousel1 removeItemAtIndex:index animated:YES];
[items1 removeObjectAtIndex:index]; 

プロジェクトに含まれるメソッドには、次のように書かれています。

- (void)removeItemAtIndex:(NSInteger)index animated:(BOOL)animated;

これにより、カルーセルからアイテムが削除されます。残りのアイテムがスライドして隙間を埋めます。このメソッドが呼び出されたときにデータ ソースが自動的に更新されないことに注意してください。そのため、その後 reloadData を呼び出すと、削除されたアイテムが復元されます。

だから私がやりたかったのは、そのインデックスのアイテムを削除するたびに、[NSNull null] またはダミー オブジェクトに置き換えて、iCarousel に表示されず、配列のインデックス カウントのままにすることです。しかし、私のプロジェクトではクラッシュしているようです。だから無理だと思います。だから私が望んでいたのは、その配列を更新するか、 my 内のオブジェクトを置き換えることNSMutableArrayです。

4

1 に答える 1

2

あなたが実行するとき

- (void)removeItemAtIndex:(NSInteger)index animated:(BOOL)animated;

データを再ロードする前に、配列からオブジェクトを削除してください。したがって、その場合、配列数は正しいままです

于 2012-06-07T04:59:39.193 に答える